Filtering and Parental Control Methods for Restricting Visual Activity on a Head Mounted Display

ABSTRACT

A method for executing computer instructions for presenting an interactive environment in a head-mounted display (HMD) is described. The method includes identifying content associated with the interactive environment to be presented on the HMD for a user and determining whether an interactive object within the identified content satisfies a threshold for presentation to the user. The method includes augmenting the interactive object with augmentation data. The augmented data acts to change a characteristic of the interactive object. The operation of augmenting the interactive object is performed after determining that the interactive object does not satisfy the threshold for presentation to the user. The augmentation data modifies the interactive object to conform the interactive object to be within the threshold.

CLAIM OF PRIORITY

This application claims the benefit of and priority, under 35 U.S.C.§120, to U.S. nonprovisional patent application Ser. No. 14/844,466,filed on Sep. 3, 2015, and titled “FILTERING AND PARENTAL CONTROLMETHODS FOR RESTRICTING VISUAL ACTIVITY ON A HEAD MOUNTED DISPLAY”,which claims the benefit of and priority, under 35 U.S.C. §119(e), toU.S. Provisional Patent Application No. 62/146,192, filed on Apr. 10,2015, and titled “FILTERING AND PARENTAL CONTROL METHODS FOR RESTRICTINGVISUAL ACTIVITY ON A HEAD MOUNTED DISPLAY”, both of which are herebyincorporated by reference in their entirety.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to U.S. patent application Ser. No.14/684,308, titled “CONTROL OF PERSONAL SPACE CONTENT PRESENTED VIA HEADMOUNTED DISPLAY”, filed on Apr. 10, 2015, which is hereby incorporatedby reference in its entirety.

FIELD

The present disclosure relates to filtering and parental control methodsfor restricting visual activity on a head mounted display.

BACKGROUND

A head-mounted display (HMD) device is worn on a head of a user when theuser is viewing a graphical scene within the HMD. The HMD includes oneoptic display in front of an eye of the user or includes two opticdisplays in front of both eyes of the user to allow the user to view thegraphical scene. The HMD is implemented as a helmet, or as eye-glasses,or as a visor. The graphical scene includes a virtual reality scene inwhich the user plays a game.

However, some games include images that are not appropriate for users ofcertain ages, e.g., children. For example, while a game may encourage achild to learn about a game or content, the game may include contentthat is improper for the child. As another example, the game or contentmay include language that is rated as mature or is not suitable forchildren.

SUMMARY

Embodiments of the present disclosure provide filtering and parentalcontrol methods for restricting presentation of content on a headmounted display.

Other aspects of the present disclosure will become apparent from thefollowing detailed description, taken in conjunction with theaccompanying drawings, illustrating by way of example the principles ofembodiments described in the present disclosure.

In one embodiment, a method for executing computer instructions forpresenting an interactive environment in a head-mounted display isdescribed. The method includes identifying content associated with theinteractive environment to be presented on the head-mounted display fora user and determining whether an interactive object within theidentified content satisfies a threshold for presentation to the user.The operation of determining whether the interactive object satisfiesthe threshold is performed by analyzing one or more parameters regardingthe user, a rating associated with the identified content, and a contentlevel that is set by an administrator. The method includes augmentingthe interactive object with augmentation data. The augmented data actsto change a characteristic of the interactive object. The operation ofaugmenting the interactive object is performed after determining thatthe interactive object does not satisfy the threshold for presentationto the user. The augmentation data modifies the interactive object toconform the interactive object to be within the threshold.

In an embodiment, a method for receiving approval from an administratoris described. The method includes identifying content associated with aninteractive environment to be presented on an HMD for a user. The methodfurther includes determining whether an interactive object within theidentified content satisfies a threshold for presentation on thehead-mounted display for the user. The operation of determining whetherthe interactive object satisfies the threshold is performed by analyzinginformation regarding the user and a rating of the interactive object.The method includes sending for approval to the administrator via anetwork, information associated with the interactive object in responseto determining that the interactive object does not satisfy thethreshold for presentation on the head-mounted display. The informationassociated with the interactive object identifies a displaycharacteristic of the interactive object, the user, and the rating ofthe interactive object.

In one embodiment, a method for changing a shared interactiveenvironment for a user is described. The method includes identifyingcontent associated with the shared interactive environment. The sharedinteractive environment is to be presented on a display device of afirst head-mounted display. The shared interactive environment is sharedbetween the first user and a second user. The method includesdetermining whether an interactive object in the identified contentsatisfies a threshold for presentation on the display device of thefirst head-mounted display for the first user and satisfies a thresholdfor presentation on a display device of a second head-mounted displayfor the second user. The method further includes augmenting theinteractive object after determining that the interactive object doesnot satisfy the threshold for presentation to the first user, providingthe augmented interactive object to the first head-mounted display forthe first user, and providing the interactive object to the secondhead-mounted display for the second user without augmenting theinteractive object after determining that the interactive objectsatisfies the threshold for presentation to the second user.

Some advantages of the herein described systems and methods includeallowing display of an interactive environment that has content suitablefor users of certain ages. For example, an interactive environment thatincludes audio or image content that is unsuitable for children isfiltered and/or augmented before the interactive environment ispresented to a child. The interactive environment is augmented with datathat passes the threshold for presentation to the users of certain ages.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments of the present disclosure are best understood byreference to the following description taken in conjunction with theaccompanying drawings in which:

FIG. 1A is a diagram of a system for illustrating filtering according todefinition data that is stored on one or more servers, in accordancewith one embodiment of the present disclosure.

FIG. 1B is diagram of a system for illustrating dynamic control of skinsof an interactive object, in accordance with one embodiment of thepresent disclosure.

FIG. 1C is a diagram of a game console to illustrate buffering ofinteractive object data for augmenting the interactive object data withaugmentation data, in accordance with one embodiment of the presentdisclosure.

FIG. 1D is a diagram of a display screen of a computing device that isoperated by an administrator, in accordance with one embodiment of thepresent disclosure.

FIG. 2A is a diagram of a system for illustrating obtaining an approvalor a disapproval from a user for an interactive object that is about tobe displayed or provided as an audio output to another user, inaccordance with one embodiment of the present disclosure.

FIG. 2B is a diagram of a game console to illustrate augmentation ofinteractive environment data according to whether an approval ordisapproval is received from a user, in accordance with one embodimentof the present disclosure.

FIG. 2C is a diagram of a system for illustrating an effect of approvalor disapproval by a user, in accordance with one embodiment of thepresent disclosure.

FIG. 3A is a diagram of a system to illustrate that a shared interactiveenvironment is augmented for one user and is not augmented for anotheruser, in accordance with one embodiment of the present disclosure.

FIG. 3B is a diagram of a display device of a head-mounted display (HMD)to illustrate interactive data that is not augmented according to athreshold, in accordance with one embodiment of the present disclosure.

FIG. 3C is a diagram of a display device of the HMD on which a differentclassroom environment is displayed than a classroom environment shown inFIG. 3B to illustrate that data that does not satisfy a threshold isaugmented, in accordance with one embodiment of the present disclosure.

FIG. 4 is a diagram of a system to illustrate use of a camera to capturepositions of a body part of a user, in accordance with one embodiment ofthe present disclosure.

FIG. 5 is a diagram of a system to illustrate use of audio data or imagedata as interactive environment data, in accordance with one embodimentof the present disclosure.

FIG. 6 is an isometric view of an HMD, in accordance with one embodimentof the present disclosure.

FIG. 7 illustrates a system for interactive game play of a video game,in accordance with one embodiment of the present disclosure.

FIG. 8 illustrates an HMD, in accordance with an embodiment described inthe present disclosure.

FIG. 9 illustrates one example of game play using a client system thatis capable of rendering video game content to an HMD of a user, inaccordance with one embodiment of the present disclosure.

FIG. 10 illustrates a user wearing an HMD, during use, in accordancewith one embodiment described in the present disclosure.

FIG. 11 is a diagram illustrating example components of an HMD, inaccordance with one embodiment described in the present disclosure.

FIG. 12 illustrates an Information Service Provider architecture, inaccordance with one embodiment described in the present disclosure.

DETAILED DESCRIPTION

Filtering and administrator control methods and systems for restrictingcontent presented on a head mounted display are described. Some examplesof an administrator include a parent of a user, a guardian of the user,an employer of the user, etc. As described below, in one embodiment,restricted content includes video content, visual content, imagecontent, audio content, gesture content, or combinations of two or morethereof. It should be noted that various embodiments of the presentdisclosure are practiced without some or all of these specific details.In other instances, well known process operations have not beendescribed in detail in order not to unnecessarily obscure variousembodiments of the present disclosure.

In one embodiment, one of the filtering and parental control systemsincludes a computer, a controller, and a display. In variousembodiments, the computer is a general purpose computer, a specialpurpose computer, or other such device which executes an interactiveprogram, e.g., a computer software program, a computer softwareapplication, etc., for generating interactive data, e.g., virtualreality environment data, augmented reality environment data, etc.,which is rendered to display interactive content on a display device. Insome embodiments, instead of the computer, a game console, or portablegame device, or a smart phone is used. Examples of game consoles includethose manufactured by Sony Computer Entertainment Inc. or othermanufacturers. Examples of the display device include a television, amonitor, a projector display, a head mounted display (HMD), or othersuch displays and display systems, which are capable of receiving andrendering video output from the computer. A user provides input to theinteractive program by moving his/her body part, e.g., hands, legs,etc., and/or by operating a hand-held controller, etc. The systemincludes one or more cameras, which captures image data of the userand/or the hand-held controller and/or of a room in which the user islocated. The image data is analyzed by the computer to determine a gamestate in which data regarding interactive objects, e.g., virtual realityobjects, augmented reality objects, etc., is generated and then sent tothe display for presentation. Examples of data regarding an interactiveobject include color, position, motion, texture, shade, shape, etc., ofthe interactive object.

FIG. 1A is a diagram of an embodiment of a system 10 for illustratingcontent filtering according to data that is defined and stored in one ormore servers. A user 106 is wearing a head-mounted display (HMD) 102 tointeract with an environment. For example, the user 106 is playing agame displayed on the HMD 102. As another example, the user 106 isviewing a scene of a real-world location, e.g., Paris, London, LakeTahoe, Cancun, Thailand, etc. As yet another example, the user 106 is ina video conference with another user and an image of the other user anda real-world environment, e.g., a room, etc., in which the other user islocated is displayed on the HMD 106. Examples of the user 106 include achild, a teenager, an employee, a contract employee, etc.

While viewing the environment, the user 106 is about to view and/orlisten to content 12 on the HMD 102. The content 12 is inappropriate forthe user 106. For example, the content 12 includes audio that has words,e.g., labeled as “A” in FIG. 1A, etc., unfitting for providing as audioto the user 106. As another example, the content 12 has an obscenegesture, e.g., labeled as “B” in FIG. 1A, etc., that is inappropriatefor displaying to the user 106. The content 12 includes data, e.g.,labeled as “C” in FIG. 1A, etc., that is appropriate for the user 106.

An interactive content processor processes, e.g., filters, augments,filters and augments, etc. the content 12 according to content filteringdefinition data, e.g., profile information regarding the user 106, ageof the user 106, biometric information regarding the user 106, usagehistory of prior use of interactive content by the user 106, ratingsassigned to the content 12, ratings assigned to portions of the content12, a rating selected by the administrator, a type of content selectedby the administrator for access by the user 106, etc. For example, theinteractive content processor determines that according to a ratingassigned to gesture B, gesture B is inappropriate for an age of the user106. The interactive content processor applies content filtering to thegesture B before the gesture B is displayed to the user 102. As anotherexample, the interactive content processor determines that according toa type assigned to the word A, the word A is inappropriate for an age ofthe user 106. The interactive content processor determines to replace tothe word A with another word A′. The word A, in this example, is anycontent, whether image or audio.

After processing the content 12, data for rendering content 14 isprovided by the interactive content processor for display on the HMD 102to the user 102. The content 14 excludes the gesture B and includes theword A′ at a position at which the word A was to be displayed on the HMD102.

FIG. 1B is diagram of an embodiment of a system 100 for illustratingdynamic control of skins of an interactive object. In an embodiment,“skins” is broadly understood to include augmentation data that is usedto change a look and feel of a scene displayed on an HMD or scenesrendered in the HMD, or augment select interactive objects rendered inone or more scenes of an interactive presentation in the HMD. Examplesof a look and feel are provided below. In one embodiment, a skin is avisual/image overlay content that is applied to one or more interactiveobjects to cover or change content displayed on an HMD. For example, ifan interactive object in a scene is determined to be inappropriateaccording to the threshold for viewing by the user 102, the gameprocessor augments the interactive object to hide, obscure, change, ormodify the interactive object, e.g., to make the interactive objectacceptable for presentation to the user 102, e.g., meeting thethreshold, meeting a content control level selected by theadministrator, meeting a content type level selected by theadministrator, etc.

In one embodiment, a skin includes audio data, or graphics data, or acombination thereof.

As used herein, the user 106 is wearing the HMD 102 while the user 106is about to view and/or listen to an interactive environment 122 on theHMD 102. The interactive environment 122 is to be displayed on a displayscreen of the HMD 102. The user 106 wears the HMD 102 on his/her head tocover his/her eyes with the display screen of the HMD 102. The HMD 102is supported on a nose of the user 106 and/or a head of the user 106. Inone embodiment, the HMD 102 allows the user 106 to see through the HMD102 to view a real-world environment, e.g., a room in which the user 106is standing, a wall of the room, a painting on the wall, a televisionwithin the room, or any other real-world object within the room, etc.,in front of the user 106.

In an embodiment, the interactive environment 122 is to be displayedand/or provided as an audio output on the HMD 102 along with informationregarding a user account assigned to the user 106 after authenticatinglogin information that is received from the user 106. For example, theuser 106 provides login information, e.g., username, password, etc., viaan input device, e.g., a game controller, a hand-held controller, akeyboard, etc., and the login information is communicated, e.g., via awireless protocol, via a wired protocol, etc., from the input device toa game processor of a game console. Examples of the wireless protocolinclude a Bluetooth protocol and a Wi-Fi protocol. Examples of the wiredprotocol include a serial data transfer protocol, a parallel datatransfer protocol, and a universal serial bus (USB) protocol, etc. Asanother example, the user 106 provides the login information using handmotion, which is captured as image data by a camera, e.g., camera of thegame console, camera in the real-world environment, camera of the HMD102, etc. The login information is communicated from the camera via thewired or wireless protocol to the game processor of the game console.

The game processor sends the login information via a communicationdevice, e.g., a network interface card, a network interface controller,etc., to an authentication server via a network, e.g., the Internet, anIntranet, a combination of the Internet and the Intranet, etc. Theauthentication server determines whether the login information isauthentic by comparing the login information with pre-storedinformation. Upon determining that the login information is authentic,the authentication server communicates an indication of theauthentication to the communication device of the game console. Uponreceiving the indication of the authentication, the game processorprovides access to a user account of the user 106 and to interactiveenvironment data to the HMD 102 and communicates, via the wired orwireless protocol, information data, e.g., user name assigned to theuser 106, email address assigned to the user 106, profile informationregarding the user 106, etc., regarding the user account and theinteractive environment data to the HMD 102. A processor of the HMD 102renders, e.g., applies a rendering program, etc., to the interactiveenvironment data and the information data to display and/or provide asaudio output an interactive environment and information regarding theuser account on a display screen of the HMD 102. Examples of informationregarding a user account include a user name assigned by a server to theuser 106, an email address assigned by a server to the user 106, or aphotograph of the user 106, or a combination of two or more thereof.

In one embodiment, some information regarding a user account is providedby the user 106 to a server or the game processor of the game consoleduring a registration process.

Examples of a processor, as used herein, include a microprocessor, anapplication specific integrated circuit (ASIC), a programmable logicdevice (PLD), a microcontroller, a central processing unit (CPU), etc.

Examples of an interactive environment, described herein, include anaugmented reality (AR) scene, a virtual reality (VR) scene, a scene froma video game, a scene from a real-world location, a real-time video of aplace to visit, a real-time video of a hotel, non-game content, etc. Toillustrate, in an interactive environment, an avatar that represents theuser 106 interacts with one or more other avatars that represents one ormore other users in a shared network environment. As anotherillustration, in an interactive environment, an image of a body part,e.g., face, hands, legs, etc., of the user 106 is shown and an image ofa body part of another user is shown. Both the users interact, e.g.,talk, chat, etc., with each other in real-time via the interactiveenvironment. As yet another illustration, data for rendering a real-timevideo of a real-world location is accessed from a server via the networkby a content processor 128. The content processor 128 provides the datafor rendering the real-time video to the HMD 102 for display of thereal-time video on the HMD 102. As another illustration, image data thatrepresents a body part of the user 106 is captured by a camera and theimage data is provided from the camera to the content processor 128. Thecontent processor 128 provides the image data to the HMD 102 for displayin an interactive environment on the HMD 102.

In one embodiment, an interactive environment includes an audio outputwith a display of interactive objects within the interactiveenvironment. For example, an interactive environment includes wordsspoken by an avatar in a game scene. As another example, an interactiveenvironment includes sounds made by a vehicle.

In an embodiment, an interactive environment is a computer-simulatedenvironment that immerses the user 106 into the interactive environmentas if the user 106 is within the interactive environment. For example,the interactive environment provides the user 106 with sensoryexperiences, e.g., sight, touch, sound, etc., so that the user 106 feelsas if he/she is a part of the interactive environment.

Examples of an interactive object, described herein, include a part ofan interactive environment that is distinguishable from other parts ofthe interactive environment. An interactive object has a look and feel,e.g., a skin, texture, shade, color, smell, taste, feel, etc., and/or anaudio output, e.g., sound, pitch, lyrics, words, etc. For example, aninteractive object is an avatar, or part (e.g., hands, arms, etc.) ofthe avatar, or a ball, or a racquet, or a vehicle, or an animal, or agun, or a wall, or text on a wall, or images on surfaces or things in aninteractive environment, or any other interactive item that is shown inan interactive environment.

In one embodiment, a characteristic of an interactive object in aninteractive environment is distinguishable from a characteristic ofanother interactive object in the interactive environment. For example,an interactive object is capable of talking and another interactiveobject is not capable of talking. As another example, an interactiveobject moves in a first direction in an interactive environment at afirst time and another interactive object moves in a second direction inthe interactive environment at the first time. As yet another example,an interactive object is of a first color and another interactive objectis of a second color.

Examples of a look and feel of an interactive object include a color, ora shape of the interactive object when displayed on the HMD 102, or afont of the interactive object when displayed on the HMD 102, or atexture of the interactive object when displayed on the HMD 102, or ashade of the interactive object when displayed on the HMD 102, or a feelprovided to the user 106 by the interactive object when the user 106performs a gesture to touch or interact in another manner with theinteractive object, or a taste provided to the user 106 by theinteractive object when the interactive object is displayed on the HMD102, or a smell provided by the interactive object to the user 106 whenthe interactive object is displayed on the HMD 102, or a sound outputfrom the interactive object when the interactive object is displayed onthe HMD 102, or a combination of two or more thereof, etc. For example,the HMD 102 includes various compartments and each compartment stores aliquid or gas that has a scent. When an interactive object is renderedon the HMD 102, a processor of the HMD 102 receives a signal forrendering an interactive environment from the game processor. Forexample, the processor of the HMD 102 receives a signal to augment aninteractive object in a scene with augmentation data. Upon receiving thesignal for rendering the interactive environment from the gameprocessor, the processor of the HMD 102 controls a driver, e.g.,transistor, group of transistors, etc., of the HMD 102. The drivercontrols a motor of the HMD 102 to open a compartment for a time periodto provide a scent and/or taste to the user 106 and then to close thecompartment after the time period. As another example, upon receivingthe signal for rendering an interactive environment from the gameprocessor, the processor of the HMD 102 sends a signal to a driver thatis coupled to a haptic feedback device, e.g., a vibration motor, atactile actuator, etc. The driver drives the haptic feedback device tomove, e.g., vibrate, contract, expand, etc., the HMD 102 to providehaptic feedback to the user 106. The haptic feedback is an example of atouch sensation provided to the user 106 by the interactive object.Examples of audio that is output from the HMD 102 when the interactiveobject is displayed on the HMD 102 are provided below with reference toFIG. 5.

In an embodiment, a look and feel of an interactive object includescharacteristics assigned to the interactive object by the game processorthat do not include functions of the interactive object. Examples offunctions of an interactive object include functions assigned to theinteractive object by the interactive program that is stored within thegame console for execution by the game processor. To illustrate, thefunctions include motions that the interactive object is capable ofperforming, words or sounds that the interactive object is capable ofproviding as audio output, positions on a display screen that theinteractive object is capable of occupying, etc.

In one embodiment, the interactive environment 122 is to be displayedand/or provided as an audio output when a next game state is achieved.The next game state is achieved by the game processor of the gameconsole when an input is received from the user 106 during a currentgame state or without the input being receipt from the user 106. Forexample, during a display of a current game state on the HMD 106, thegame processor determines whether an input, e.g., a movement of the headof the user 106, a gesture performed by the user 106, a selection of abutton of a hand-held controller, etc., is received via the wiredprotocol or the wireless protocol from the input device that is operatedby the user 106 and/or from a camera. Upon determining that the input isreceived, the game processor identifies from a memory device of the gameconsole the next game state. Examples of a memory device, as usedherein, include a read-only memory (ROM), a random access memory (RAM),a volatile memory, a non-volatile memory, a Flash memory, a disc, etc.The next game state includes a look and feel and/or audio output ofinteractive objects within the interactive environment 122 and of abackground of the interactive environment 122. The next game state istransferred from the game processor via the wired protocol or thewireless protocol to the HMD 102 for display of the interactiveenvironment 122 on the HMD 102.

The game console includes a dynamic filter 124. A content identifier126, e.g., a processor, a software module, etc., of the dynamic filter124 identifies content, e.g., the interactive object 104A, anotherinteractive object 104B, yet another interactive object 104C, etc., tobe presented, e.g., via look and feel, via audio output, etc., withinthe interactive environment 122 to be presented on the HMD 102 for theuser 106 for the next game state. For example, the content identifier126 accesses identities (IDs), e.g., assigned names, assigned codes,assigned alphanumeric characters, etc., of the interactive objects 104Athru 104C to be presented in the interactive environment 122. Toillustrate, the IDs are read from a memory device of the game console.The content identifier 126 provides the IDs to the content processor 128of the dynamic filter 124. The content processor 128 is an example ofthe interactive content processor illustrated in FIG. 1A.

In one embodiment, the interactive object 104A is an avatar thatrepresents a user sharing the interactive environment 122 with the user106 and the interactive object 104C is an avatar that represents theuser 106.

In an embodiment, the interactive object 104C is an avatar thatrepresents a user sharing the interactive environment 122 with the user106 and the interactive object 104A is an avatar that represents theuser 106 or a part of the avatar that represents the user 106.

In an embodiment, the interactive object 104A is a part, e.g., hands,feet, chest, etc., of an avatar that represents a user sharing theinteractive environment 122 with the user 106 and the interactive object104C is an avatar that represents the user 106. For example, a camerathat is located in a room in which a user is located captures image dataof a body part, e.g., hands, feet, torso, etc. of the user. The imagedata is provided from the camera to the content processor 128 via thewired or wireless protocol. The content processor 128 processes theimage data to determine a position of the body part in the room and todetermine, from the position of the body part, a position of a part,e.g., hands, feet, torso, etc., of an avatar or an image that representsthe user. To illustrate, when the body part moves in an x-direction inthe room, the part of the avatar moves in the x-direction in aninteractive environment on an HMD. As another illustration, when thebody part moves a distance (x, y, z) in the room, the part of the avatarmoves a scaled distance (x1, y1, z1) in an interactive environment. Thedistance (x1, y1, z1) is scaled with respect to the distance (x, y, z)to allow proportional movement between the body part and the part of theavatar.

Examples of a software module include a computer software program or aportion of a computer software program.

The content processor 128 requests for and obtains via the network oneor more ratings of corresponding one or more interactive objects 104Athru 104C that are identified or one or more ratings of one or moreinteractive objects that are similar to the corresponding one or moreinteractive objects 104A thru 104C from a ratings server 108. In oneembodiment, the content processor 128 requests for and obtains via thenetwork one or more types of corresponding one or more interactiveobjects 104A thru 104C or one or more types of one or more interactiveobjects that are similar to the corresponding one or more interactiveobjects 104A thru 104C from the ratings server 108. To illustrate, thecontent processor 128 sends the IDs of the one or more interactiveobjects 104A thru 104C to obtain ratings of the one or more interactiveobjects 104A thru 104C and/or of one or more interactive objects similarto the one or more interactive objects 104A thru 104C. As anotherillustration, the content processor 128 sends the IDs of the one or moreinteractive objects 104A thru 104C to obtain types of the one or moreinteractive objects 104A thru 104C and/or of one or more interactiveobjects similar to the one or more interactive objects 104A thru 104C.

In one embodiment, a rating and/or type is assigned to an interactiveobject by content producers. Examples of the content producers includecompanies that create a game or another interactive environment. Thecontent producers assign a rating to an interactive object via an inputdevice of a client device, e.g., a smart phone, a desktop computer, alaptop, a tablet, etc., and the rating is transferred from acommunication device of the client device via the network to acommunication device of the ratings server 108 for storage and access.

In an embodiment, a rating and/or a type is assigned to an interactiveobject in a social network by one or more social network users. Forexample, a user logs into his/her social network account and posts acomment within the social network account for sending to a socialnetwork server that the interactive object 104A is rated as mature andis of a profane type. As another example, during a chat session betweentwo users conducted via the social network, e.g., via social networkaccounts of the users and the social network server, etc., one of thetwo users indicate that the interactive object 104A should be rated asmature content. It should be noted that each user accesses a socialnetwork account stored on the social network server when userinformation is authenticated by the social network server.

In an embodiment, a rating and/or type is assigned to an interactiveobject by game players, e.g., the user 106, other users playing a game,etc. The game players log into their corresponding user game accountsand rate an interactive object. The rating is provided during aninteractive chat session that occurs between the game players during aplay of a game or before or after the play of the game. As anotherexample, the rating is provided when the game processor of the gameconsole requests a game player to assign the rating by sending to theHMD 102 a message requesting the game player to assign the rating and/ortype.

In one embodiment, a first interactive object is similar to a secondinteractive object when the first and second interactive objects areassigned the same rating and/or type. To illustrate, when the first andsecond interactive objects are both profane words, both the first andsecond interactive objects are assigned a type profane by the gameprocessor. As another illustration, when the first interactive object isan obscene gesture of a right hand of an avatar and the secondinteractive object is the same obscene gesture of a left hand of theavatar, both the first and second interactive objects are assigned atype obscene by the game processor. As yet another illustration, whenthe first interactive object is an obscene gesture of a right arm of anavatar and the second interactive object is the same obscene gesture ofa left arm of the avatar, both the first and second interactive objectsare assigned a type obscene by the game processor. Other examples oftypes assigned to an interactive object include a bloody interactiveobject, a violent interactive object, an interactive object with intenseviolence, a comic mischief interactive object, a lyrics interactiveobject, an interactive object with sexual content, an interactive objectwith cartoon violence, an interactive object with profane language, etc.Examples of rating of an interactive object include an early childhoodrating, an everyone rating, an everyone 10+ rating, a teen rating, amature rating, an adults only rating, and a rating pending rating, etc.

In an embodiment, a first interactive environment is similar to a secondinteractive environment when all interactive objects in the firstinteractive environment have the same rating and/or the same type as allinteractive objects in the second interactive environment.

In an embodiment, the ratings server 108 determines a rating of aninteractive object as an average of ratings of the interactive objectreceived from the content producers, from the social network, and fromthe game network. For example, each rating of an interactive object isassigned a number and average of the numbers is calculated by theratings server 108 to determine an average of the ratings received bythe ratings server 108 from the content producers, the social network,and the game network.

In one embodiment, the ratings server 108 determines a rating of aninteractive object as a median of ratings of the interactive objectreceived from the content producers, from the social network, and fromthe game network. For example, each rating of an interactive object isassigned a number and a median of the numbers is calculated by theratings server 108 to determine a median of the ratings received by theratings server 108 from the content producers, the social network, andthe game network.

In an embodiment, the ratings server 108 determines a type of aninteractive object as an average of types of the interactive objectreceived from the content producers, from the social network, and fromthe game network. For example, each type of an interactive objectreceived by the ratings server 108 from the content producers, thesocial network, and the game network is assigned a number and an averageof the numbers is calculated by the ratings server 108 to determine anaverage of the types for the interactive object.

In one embodiment, the ratings server 108 determines a type of aninteractive object as a median of types of the interactive objectreceived from the content producers, from the social network, and fromthe game network. For example, each type of an interactive objectreceived by the ratings server 108 from the content producers, thesocial network, and the game network is assigned a number and a medianof the numbers is calculated by the ratings server 108 to determine amedian of the types for the interactive object.

The content processor 128 of the dynamic filter 124 determines whetheran interactive object that is identified by the content identifier 126satisfies a threshold for presentation to the user 106. For example, thecontent processor 128 requests from a user history server 112A via thenetwork, a history of the user 106, and receives the user history viathe network from the user history server 112A. Examples of history ofthe user 106 include a rating of an interactive environment that ispreviously displayed and/or provided as audio output to the user 106, atype of the interactive environment that is previously displayed to theuser 106 and/or provided as audio output to the user 106, etc. In anembodiment, the interactive environment that is previously displayedand/or provided as audio output to the user 106 is similar to or thesame as the interactive environment 122. Examples of ratings of aninteractive environment include an early childhood rating, an everyonerating, an everyone 10+ rating, a teen rating, a mature rating, anadults only rating, and a rating pending rating, etc. Examples of typesof an interactive environment include a bloody interactive environment,a violent interactive environment, an interactive environment withintense violence, a comic mischief interactive environment, a lyricsinteractive environment, an interactive environment with sexual content,an interactive environment with cartoon violence, an interactiveenvironment with profane language, etc.

Continuing with the example of determining whether an interactive objectthat is identified by the content identifier 126 satisfies thethreshold, the content processor 128 determines whether one or more ofthe interactive objects 104A thru 104C to be displayed are within aninteractive environment that has a rating that is similar to or the sameas a rating of an interactive environment that is previously displayedand/or provided as audio output to the user 106 and/or that is of a typesimilar to or the same as a type of the interactive environment that ispreviously displayed and/or provided as audio output to the user 106.For example, the content processor 128 determines whether the user 106previously viewed and/or heard an interactive environment that is ratedearly childhood and is now about to view and/or hear an interactiveenvironment that is rated mature. As another example, the contentprocessor 128 determines whether the user 106 previously viewed and/orheard a lyrics interactive environment and is about to view and/or hearan interactive environment with cartoon violence. Upon determining thatan interactive object is to be displayed has a rating that is similar toor the same as a rating of an interactive object that is previouslydisplayed and/or provided as audio output to the user 106 and that is ofa type similar to or the same as a type of the interactive object thatis previously displayed and/or provided as audio output to the user 106,the content processor 128 determines that the interactive objectsatisfies the threshold. On the other hand, upon determining that aninteractive object is to be displayed has a rating that is not similarto a rating of an interactive object that is previously displayed and/orprovided as audio output to the user 106 and/or that is of a type notsimilar to a type of the interactive object that is previously displayedand/or provided as audio output to the user 106, the content processor128 determines that the interactive object does not satisfy thethreshold.

In one embodiment, instead of both the type and rating of an interactiveobject, the content processor 128 uses the type or the rating todetermine whether the interactive object satisfies the threshold. Forexample, upon determining that an interactive object is to be displayedhas a rating that is similar to or the same as a rating of aninteractive object that is previously displayed and/or provided as audiooutput to the user 106, the content processor 128 determines that theinteractive object satisfies the threshold. On the other hand, upondetermining that an interactive object is to be displayed has a ratingthat is not similar to a rating of an interactive object that ispreviously displayed and/or provided as audio output to the user 106,the content processor 128 determines that the interactive object doesnot satisfy the threshold.

In an embodiment, an interactive object has a first rating is similar toa second rating of another interactive object when both the ratings arewithin a range. For example, on a scale that progressively rates in anincreasing order of numbers interactive objects from an early childhoodrating to an everyone 10+ rating to a teen rating to a mature rating andfurther to an adults only rating, two of the ratings that are adjacentto each other are within the range. To illustrate, when the earlychildhood rating is assigned a number of 1, the everyone 10+ is assigneda number of 2 and the teen rating is assigned a number of 3, the numbers1 and 2 are adjacent to each other and the numbers 1 and 3 are notadjacent to each other. The everyone 10+ rating is within the range ofthe early childhood rating and the teen rating is not within the rangeof the early childhood rating.

In an embodiment, an interactive object that is of a first type issimilar to a game of a second type when both the types are within arange of each other. For example, on a scale that lists types ofinteractive objects from mild violence to intermediate violence tointense violence, two of the types that are adjacent to each other arewithin the range. To illustrate, when the mild violence type is assigneda number of 1, the intermediate violence type is assigned a number of 2and the intense violence is assigned a number of 3, the numbers 1 and 2are adjacent to each other and the numbers 1 and 3 are not adjacent toeach other. The intermediate violence type is within the range ofintense violence type and the intense violence type is not within therange of mild violence type.

As another example of determining whether an interactive object that isidentified by the content identifier 126 satisfies the threshold forpresentation to the user 106, the content processor 128 requests from auser profile server 112B via the network a profile of the user 106. Theprofile 106 of the user 106 includes information regarding the user 106,e.g., an age of the user 106, a year of graduation from high school ofthe user 106, a married or unmarried status of the user 106, aphotograph of the user 106, etc. It should be noted that in oneembodiment, the user 106 provides some of the information regardinghimself/herself during the registration process to the user profileserver 112B via the network.

In an embodiment, the content processor 128 analyzes informationregarding the user 106 to determine an age of the user 106. For example,the content processor 128 determines that hair color of the user 106 isnot grey and that a face of the user 106 fits within pre-definedboundaries to determine that the user 106 is less than 18 years old. Asanother example, the content processor 128 determines that a height ofthe user 106 is less than a height limit to determine that the user 106is less than 10 years old.

Continuing with the example of determining whether an interactive objectthat is identified by the content identifier 126 satisfies the thresholdfor presentation to the user 106, the content processor 128 determineswhether one or more of the interactive objects 104A thru 104C have arating and/or a type associated with an age that is within apre-determined range from an age of the user 106 accessed from theprofile information. To illustrate, the content processor 128 determinesthat the interactive object 104A has a rating of everyone 10+ and theuser 106 is less than 10 years old to determine that the rating isassociated with an age that is outside the pre-determined range from theage of the user 106. As another illustration, the content processor 128determines that the interactive object 104A has a rating of earlychildhood and the user 106 is less than 10 years old to determine thatthe rating is associated with an age that is within the pre-determinedrange from the age of the user 106.

Upon determining that an interactive object has a rating and a type thatis associated with an age within the pre-determined range from an age ofthe user 106, the content processor 128 determines that the profile ofthe user 106 satisfies the threshold. On the other hand, upondetermining that an interactive object has a rating or a type that isassociated with an age not within the pre-determined range from an ageof the user 106, the content processor 128 determines that the profileof the user 106 does not satisfy the threshold.

In an embodiment, instead of both the type and rating of an interactiveobject, the rating or the type is used to determine whether the profileof the user 106 satisfies the threshold. For example, upon determiningthat an interactive object has a rating that is associated with an agewithin the pre-determined range from an age of the user 106, the contentprocessor 128 determines that the profile of the user 106 satisfies thethreshold. On the other hand, upon determining that an interactiveobject has a rating that is associated with an age not within thepre-determined range from an age of the user 106, the content processor128 determines that the profile of the user 106 does not satisfy thethreshold.

As another example of determining whether an interactive object that isidentified by the content identifier 126 satisfies the threshold forpresentation to the user 106, the content processor 128 generates arequest for obtaining biometric information regarding the user 106 andprovides the request to the user 106 via the wired or wireless protocolto a user biometric device 112C. Examples of the user biometric device112C include a digital camera, a fingerprint scanner, etc. Toillustrate, the user biometric device 112C captures the biometricinformation, e.g., perpendicular distance between eyes of the user 106,fingerprints of the user 106, height of the user 106, hair color of theuser 106, etc., that identifies the user 106 and distinguishes the user106 from other users.

The content processor 128 determines an age of the user 106 from thebiometric information. To illustrate, upon determining that aperpendicular distance between eyes of the user 106 is less than apre-defined distance, the content processor 128 determines that the user106 is less than 10 years old. As another illustration, upon determiningthat a height of the user 106 is less than a pre-defined height, thecontent processor 128 determines that the user 106 is less than 10 yearsold.

Continuing with the example of determining whether an interactive objectthat is identified by the content identifier 126 satisfies the thresholdfor presentation to the user 106, the content processor 128 determineswhether one or more of the interactive objects 104A thru 104C have arating and/or a type associated with an age that is within apre-determined range from an age of the user 106 accessed from thebiometric information. Upon determining that an interactive object has arating and a type that is associated with an age within thepre-determined range from an age of the user 106 determined from thebiometric information, the content processor 128 determines that theprofile of the user 106 satisfies the threshold. On the other hand, upondetermining that an interactive object has a rating or a type that isassociated with an age not within the pre-determined range from an ageof the user 106 determined from the biometric information, the contentprocessor 128 determines that the profile of the user 106 does notsatisfy the threshold.

In an embodiment, instead of both the type and rating of an interactiveobject, the rating or the type is used to determine whether thebiometric information of the user 106 satisfies the threshold. Forexample, upon determining that an interactive object has a rating thatis associated with an age within the pre-determined range from an age ofthe user 106, the content processor 128 determines that the biometricinformation of the user 106 satisfies the threshold. On the other hand,upon determining that an interactive object has a rating that isassociated with an age not within the pre-determined range from an ageof the user 106, the content processor 128 determines that the biometricinformation of the user 106 does not satisfy the threshold.

It should be noted that in one embodiment, the history of the user 106,the profile information regarding the user 106, and the biometricinformation regarding the user 106 are examples of one or moreparameters regarding the user.

As another example of determining whether an interactive object that isidentified by the content identifier 126 satisfies the threshold, thecontent processor 128 receives from a content control server 130 via thenetwork a content control level that is set by an administrator. Thecontent control level is further described below. The administrator logsinto an administrator account when login information provided by theadministrator is authenticated by the authentication server. Examples ofthe administrator include a parent of a child, a guardian of the child,an employer, an owner, etc. The content processor 128 determines whethera rating assigned to an interactive object exceeds the content controllevel. Upon determining that the rating exceeds the content controllevel, the content processor 128 determines that the interactive objectdoes not satisfy the threshold. On the other hand, upon determining thatthe rating does not exceed the content control level, the contentprocessor 128 determines that the interactive object satisfies thethreshold.

As yet another example of determining whether an interactive object thatis identified by the content identifier 126 satisfies the threshold, thecontent processor 128 receives from the content control server 130 viathe network a content type level that is set by the administrator. Thecontent type level is further described below. The content processor 128determines whether a type assigned to an interactive object exceeds thecontent type level. Upon determining that the type exceeds the contenttype level, the content processor 128 determines that the interactiveobject does not satisfy the threshold. On the other hand, upondetermining that the type does not exceed the content type level, thecontent processor 128 determines that the interactive object satisfiesthe threshold.

It should be noted that content control level or content type level issometimes referred to herein as a content level.

In one embodiment, the content processor 128 uses a combination of twoor more of the history of the user 106, the profile of the user 106, thebiometric information regarding the user 106, the content control levelprovided by the administrator, and the content type level provided bythe administrator to determine whether an interactive object satisfiesthe threshold. For example, upon determining that an interactive objectsatisfies the threshold based on the history of the user 106 and theprofile of the user 106, the content processor 128 determines that theinteractive object satisfies the threshold. On the other hand, upondetermining that the interactive object does not satisfy the thresholdbased on the history of the user 106 and/or based on the profile of theuser 106, the content processor 128 determines that the interactiveobject does not satisfy the threshold. As another example, upondetermining that an interactive object satisfies the threshold based onthe history of the user 106, the profile of the user 106, and thebiometric information regarding the user 106, the content processor 128determine that the interactive object satisfies the threshold. On theother hand, upon determining that the interactive object does notsatisfy the threshold based one or more of the history of the user 106,the profile of the user 106, and the biometric information regarding theuser 106, the content processor 128 determines that the interactiveobject does not satisfy the threshold. As yet another example, upondetermining that an interactive object satisfies the threshold based onthe history of the user 106, the profile of the user 106, the biometricinformation regarding the user 106, and the content level, the contentprocessor 128 determine that the interactive object satisfies thethreshold. On the other hand, upon determining that the interactiveobject does not satisfy the threshold based one or more of the historyof the user 106, the profile of the user 106, the biometric informationregarding the user 106, and the content level, the content processor 128determines that the interactive object does not satisfy the threshold.As another example, upon determining that an interactive objectsatisfies the threshold based on the history of the user 106, theprofile of the user 106, the biometric information regarding the user106, content type level, and the content control level, the contentprocessor 128 determines that the interactive object satisfies thethreshold. On the other hand, upon determining that the interactiveobject does not satisfy the threshold based one or more of the historyof the user 106, the profile of the user 106, the biometric informationregarding the user 106, the content control level, and the content typelevel, the content processor 128 determines that the interactive objectdoes not satisfy the threshold.

Upon determining that an interactive object does not the satisfy thethreshold, the content processor 128 augments the interactive objectwith augmentation data. For example, an obscene gesture in theinteractive environment 122 is replaced with a decent gesture. Asanother example, profane text in the interactive environment 122 isreplaced with clean text. As yet another example, a look and feel of theinteractive object 104A and the interactive object 104B are changed toreplace an obscene gesture and a profane word. As another example, anaudio output that includes a profane word is replaced with an audiooutput of a clean word. As yet another example, a skin of theinteractive object 104A is replaced with another decent skin and a skinof the interactive object 104B is replaced with another decent skin.Examples of augmentation data include text, audio data, graphics data,look and feel, skin, etc. To illustrate, augmentation data converts abackground or an interactive object of an interactive environment intoblack and white, e.g., like in an old movie, etc., from colored or intocolored from black and white. As another illustration, augmentation datatransforms an image of the user 106 displayed in the HMD 102 into acartoon. It should be noted that a skin, a look and feel, and a gestureof an interactive object are examples of a visual characteristic of theinteractive object. When augmentation data is applied to an interactiveobject, the interactive object is conformed to be within the threshold.

On the other hand, upon determining that an interactive object satisfiesthe threshold, the content processor 128 does not augment theinteractive object with augmentation data. For example, upon determiningthat the interactive object 104C satisfies the threshold, the contentprocessor 128 does not augment the interactive object 104C withaugmentation data and the interactive object 104C is displayed withinthe augmented interactive environment 118.

The content processor 128 generates augmented interactive environmentdata upon augmenting the interactive object 104A with augmented data andaugmenting the interactive object 104B via augmentation data. Thecontent processor 128 applies the wired protocol or the wirelessprotocol to provide the augmented interactive environment data viacommunication devices of the game console and of the HMD 102 to theprocessor of the HMD 102. The processor of the HMD 102 renders theaugmented interactive environment data to display an augmentedinteractive environment 118 on one or more display screens of the HMD102. For example, the HMD 102 includes one optic display for each eye ofthe user 106. As another example, the HMD 102 includes one opticaldisplay shared between eyes of the user 106. As yet another example,images are rendered on the HMD 102 by projecting images onto one or botheyes of the user 106. It should be noted that the example illustratedabove regarding rendering images on one or both eyes of the user 106 isfor illustrative purposes and in one embodiment, there are various otherways of displaying images that represent an interactive environment,e.g., an augmented interactive environment, etc., on one or both eyes ofthe user 106. The augmented interactive environment 118 includes anaugmented interactive object 114A, which is displayed after applyingaugmentation data to the interactive object 104A. The augmentedinteractive environment 118 also includes an augmented interactiveobject 114B, which is displayed after applying augmentation data to theinteractive object 104B. The augmented interactive environment 118includes the augmented interactive object 104C.

In an embodiment, a communication between the content processor 128 anda server, e.g., the user history server 112, the user profile server112C, the content control server 130, the ratings server 108, etc., isfacilitated by a communication device of the game console and acommunication device of the server. For example, a network interfacecontroller of the game console applies a transmission control protocolon top of Internet protocol to packetize data to be transferred to anetwork interface controller of the server. As another example, anetwork interface controller of a sever, e.g., the user history server112, the user profile server 112C, the content control server 130, theratings server 108, etc., applies a transmission control protocol on topof Internet protocol to packetize data to be transferred to a networkinterface controller of the game console.

It should be noted that in an embodiment in which the digital camera islocated within the game console, there is no need to transfer thebiometric information via the wireless protocol from the user biometricdevice 112C to the game console.

It should be noted that in one embodiment, the wireless or wirelessprotocol is executed by a communication device of the game console andby a communication device of the HMD 102 for facilitating a transfer ofdata between the game console and the HMD 102.

It should be noted that in an embodiment, when a game is being describedas being played by the user 106, the game is being played when the user106 accesses the game via a user account that is assigned to the user106. Moreover, it should be noted that when an interactive environmentis being described as being displayed and/or provided as audio output tothe user 106, the interactive environment is being displayed and/orprovided as audio output to the user 106 during access of a user accountassigned to the user 106.

In an embodiment, the HMD 102 includes a number of display screens.

In one embodiment, an interactive environment includes one or moreinteractive objects.

In one embodiment, an interactive object is augmented with augmentationdata while preserving functionality of the interactive object. Forexample, an interactive object is augmented with augmentation data whenthere is substantially no change in an action performed by theinteractive object. To illustrate, an avatar is able to perform actionsof walking, talking, jumping, seeing, listening, fighting, grabbingother interactive objects, moving other interactive objects, exhibitingemotions, etc., before and after augmenting the avatar. As anotherillustration, an avatar is able to drive an interactive car or shoot aninteractive gun before and after augmenting the avatar. As anotherillustration, after augmenting an interactive object, there is a changein a look and feel of the interactive object but no change in movementof the interactive object. As yet another illustration, there is achange in a movement of the interactive object when an augmentation to alook and feel of the interactive object or another interactive objectaffects the movement. When words on a board in a classroom environmentare changed from inappropriate words to clean words, hand motion of anavatar who is writing the words is changed to display that the avatar iswriting clean words instead of indecent words.

In an embodiment, an interactive environment is displayed to the user106 when the interactive environment is displayed for greater than apre-determined amount of time and via a user account of the user 106.

In an embodiment, an interactive environment is provided as an audiooutput to the user 106 when a sound during display of the interactiveenvironment is provided as output for greater than a pre-determinedamount of time and via a user account of the user 106.

In an embodiment, a user input is received via an input device, e.g., ahand-held controller, a joystick, a motion controller, etc., that isheld by the user 106 or via a body part motion of the user 106 and theuser input is used to augment interactive data. For example, the user106 indicates a selection of a look and feel or a skin of an interactiveobject via an input device or the body part motion. The body part motionis captured as image data by a camera and the input received via theinput device is sent via the wired or wireless protocol to the gameprocessor of the game console. An interactive object is augmentedaccording to the selection received from the user 106. For example, aninteractive object is augmented with a look and feel that is selected bythe user 106. To further illustrate, the interactive object that isaugmented is an avatar of a user, other than the user 106, and the otheruser controls the avatar. The augmented interactive object is sent fromthe game processor to the processor of the HMD 102 for display on theHMD 102.

In one embodiment, the content processor 128 determines whether the userinput satisfies the threshold and upon determines that the user inputdoes not satisfy the threshold, the content processor 128 furtheraugments the augmented interactive object with augmentation data so thatthe further augmented interactive object satisfies the threshold. Thefurther augmentation interactive object is then sent to the HMD 102 fordisplay.

In one embodiment, the content processor 128 and the game processor areused interchangeably herein and refer to the same processor.

In one embodiment, an interactive object is one that interacts with theuser 102 or one that does not interact with the user 102. For example,an interactive object is a box that is placed at a location in aninteractive environment and does not move within the interactiveenvironment and is not responsive to interaction from the user 102. Toillustrate, when the user 102 performs a hand motion to move the boxfrom one location to another in the interactive environment, the gameprocessor does not move the box. As another example, an interactiveobject is one that moves of responds to an input received from the user102. To illustrate, when the user 102 performs a gesture, e.g., a handgesture, a body gesture, a foot gesture, etc., an avatar that representsthe user 102 moves within an interactive environment or talks ordisplays the gesture in the interactive environment.

FIG. 1C is a diagram of an embodiment of a game console 150 toillustrate buffering of interactive object data for augmenting theinteractive object data with augmentation data. The game console 150includes the content identifier 126, which is implemented using aprocessor or a software module that is executed by a processor. Thecontent identifier 126 parses interactive environment data 154 todistinguish interactive object data 152A from interactive object data152B and to distinguish the interactive object data 152A and 152B frominteractive object data 152C. To illustrate, the content identifier 126distinguishes a name pre-assigned to the interactive object data 152Afrom a name pre-assigned to the interactive object data 152B. As anotherexample, the content identifier 126 parses the interactive environmentdata 154 to distinguish background data within the interactiveenvironment data 154 from each of the interactive object data 152A,152B, and 152C.

A threshold determinator 156 of the content processor 128 determineswhether an interactive object satisfies the threshold in a mannerdescribed herein. A content distributor 159 of the content processor 128receives a determination whether an interactive object satisfies athreshold for the interactive object data 152A thru 152C and distributesthe interactive object data 152A thru 152C between links 160A and 160Baccording to whether the interactive object data 152A thru 152Csatisfies the threshold. Examples of each link 160A and 160B includes aserial communication medium, parallel communication mediums, USBcommunication mediums, etc. In one embodiment, a medium, referred toherein, is a conductor, e.g., a wire, etc. The content distributes 159provides the interactive object data 152A and 152B that does not satisfythe threshold to the link 160A, and provides the interactive object data152C that satisfies the threshold to the link 160B.

A buffer 162 of the content processor 128 receives the interactiveobject data 152A and 152B via the link 160A and temporarily stores theinteractive object data 152A and 152B. An example of a buffer 162includes one or more sequences of one or more gates, e.g., invertinggates, non-inverting gates, etc. An augmenter 164 of the contentprocessor 128 augments the interactive object data 152A and 152B withaugmentation data to generate augmented interactive object data. Thebuffering of interactive object data 152A and 152B generates a timedelay in providing the interactive object data 152A and 152B to theaugmenter 164 to allow the augmenter 164 to augment the interactiveobject data 152A and 152B. The augmented interactive data iscommunicated using the wired or the wireless protocol from acommunication device of the game console 150 to a communication deviceof the HMD 102. Moreover, the interactive object data 152C is receivedby a communication device of the game console 150 from the contentdistributor 159 and is communicated using the wired or the wirelessprotocol to a communication device of the HMD 102. The processor of theHMD 102 renders the augmented interactive object data received from theaugmenter 164 to display the augmented interactive objects 114A and 114Bon the HMD 102 and renders the interactive object data 152C transferredvia the link 160B to display the interactive object 104C on the HMD 102.

In one embodiment, the content processor 128 does not include the buffer162 and the interactive object data 152A and 152B is provided from thecontent distributor 159 to the augmenter 164.

It should be noted that in one embodiment, each of the thresholddetermination 156 and the augmenter 162 are implemented as separateprocessor or as separate software modules. Moreover, in an embodiment,the content splitter is implemented as a processor.

The interactive object data 152A is to be rendered by the processor ofthe HMD 102 to display the interactive object 104A (FIG. 1B), theinteractive object data 152B is to be rendered by the processor of theHMD 102 to display the interactive object 104B (FIG. 1B), and theinteractive object data 152C is to be rendered by the processor of theHMD 102 to display the interactive object 104C (FIG. 1B). Similarly, theinteractive environment data 154 is to be rendered by the processor ofthe HMD 102 to display the interactive environment 122 (FIG. 1B).

In one embodiment, the augmenter 164 associates a position of the lookand feel of an interactive object, e.g., the interactive object 104A,104B, etc., with a position of the interactive object to facilitate amovement of the look and feel with a movement of the interactive objectin the augmented interactive environment 118. For example, the augmenter164 establishes a link between a position of the interactive object 104Ato be augmented and a position of augmentation data for augmenting theinteractive object 104A. As the interactive object 104A moves in theaugmented interactive environment 118, a look and feel that augments theinteractive object 104A also moves with the interactive object 104A todisplay the augmented interactive object 114A. As another example, theaugmenter 164 establishes a correspondence between a position of theinteractive object 104B and a position of augmentation data foraugmenting the interactive object 104B. The augmentation dataeffectively provides a cover for the interactive object 104B. Withmovement of the interactive object 104B from a first position to asecond position in the augmented interactive environment 118,augmentation applied to the interactive object 104B moves with theinteractive object 104B from the first position to the second position.

FIG. 1D is a diagram of a display screen 180 of a computing device,e.g., a client device, etc., that is operated by the administrator. Theadministrator logs into his/her administrator account that is stored ona server connected to the network. The display screen 180 displayscontrol levels 182 for an interactive object. The control levels 182include scores that range from 0 to 12.5. The score of 0 indicates anearly childhood rating, the score of 2.5 indicates an everyone 10+rating, the score of 5 indicates a teen rating, the score of 7.5indicates a mature rating, and the score of 10 indicates an adultrating. The ratings of early childhood, everyone 10+, teen, mature, andadult are examples of industry standard ratings. The industry standardratings are illustrated as a range 116 on the display screen 180 and therange 116 ranges from the industry standard rating of early childhood tothe industry standard rating of adult. The administrator uses his/herhand to touch a touch screen of the client device to achieve a controllevel 110 for an interactive object as desired by the administrator. Thecontrol level 110 is selected by the administrator from among thecontrol levels 182. In one embodiment, the administrator uses a controlinput device, e.g., a button, a keypad, a mouse, a keyboard, a stylus,etc., to change the control level 110. The control level 110 thatdefines a rating for an interactive object and that is selected by theadministrator is sent by a communication device of the client device viathe network to the content control server 130 (FIG. 1B) for storage andfurther for access by the content processor 128 (FIG. 1B).

The display screen 180 further displays a content type level 184 for aninteractive object. The content type level 184 ranges from violentreferences (VR) further to violence (V) and further to intense violence(IV). A score of 2.5 within the content type level 184 indicates that aninteractive object depicts violent references, a score of 5 within thecontent type level 184 indicates that an interactive object depictsviolence, and a score of 7.5 within the content type level 184 indicatesthat an interactive object depicts intense violence.

A content type level 186 is selected by the administrator in a mannersimilar to selecting the content control level 110. The content typelevel 186 that defines a type for an interactive object and that isselected by the administrator is sent by a communication device of theclient device via the network to the content control server 130 forstorage and further for access by the content processor 128.

The display screen 180 further shows a user name of a user, e.g., theuser 106 (FIG. 1B), an age of the user 106, a content control history ofthe user 106, a content control level of 6.2, a content type history ofthe user 106, and a content type level of 6.5. The user name and the ageare requested and obtained by the content control server 130 from theuser profile server 112B (FIG. 1B) or from the content processor 128 orfrom the biometric device 112C (FIG. 1B) via the network. The contentcontrol history indicates a range of content control levels previouslyselected by the administrator for interactive objects allowed to beviewed by the user 106. Moreover, the content control level of 6.2 isthe content control level 110 that is selected by the administrator foran interactive object, e.g., the interactive object 104A (FIG. 1B),etc., to be viewed by the user 106. The content type history indicates arange of content type levels previously selected by the administratorfor interactive objects allowed to be viewed by the user 106. Also, thecontent type level of 6.5 is the content type level 186 that is selectedby the administrator for an interactive object, e.g., the interactiveobject 104A (FIG. 1B), etc., to be viewed by the user 106. Each time theadministrator selects a content control level and a content type level,the content control level and the content type level are sent from acommunication device of the computing device to a communication deviceof the content control server 130 for storage in the content controlserver 130.

It should be noted that although the content type level 184 is relatedto different degrees of violence, in one embodiment, instead ofviolence, a content type level includes degrees of profanity orobscenity or sexuality.

In one embodiment, the administrator account of the administrator anduser account of the user 106 are linked. For example, the administratorlogs into the administrator account. When the administrator logs intothe administrator account, a communication regarding the log in is sentfrom the client device 202 to an account server via the network. Theaccount server manages information regarding accounts, e.g., useraccount, administrator account, etc. When the communication regardingthe log in is received, the account server provides access to the useraccount of the user 106 to the administrator. When the user account isaccessed, the control levels 182 for the user account and content typelevels 184 for the user account are displayed by the processor system210 on the display device 212 of the client device 202. Moreover, theadministrator then selects the control level 110 and/or the content typelevel 186. As another example of linking between the administratoraccount and a user account, account information, e.g., one or moreparameters regarding the user 106, user profile information regardingthe user 106, email address of user account of the user 106, userbiometric information regarding the user 106, administrator profileinformation, administrator biometric information, etc., regarding theuser 106 and the administrator are stored within the same file withinthe account server for access by the administrator on the client device202.

FIG. 2A is a diagram of an embodiment of a system 200 for illustratingobtaining an approval or a disapproval from a user 302, e.g., a parentor a guardian of the user 106, the administrator, etc., for aninteractive object that is about to be displayed or provided as an audiooutput on the HMD 102 to the user 106. The system 200 includes the gameconsole 150, a computing device 202, a network 204, and the HMD 102.

In one embodiment, a computing device and a client device are usedinterchangeably herein.

The game console 150 includes a communication device 206 and anothercommunication device 208. The communication device 206 applies a networkprotocol, e.g., an IP protocol, a TCP/IP protocol, a proprietarycommunication protocol, etc., to communicate with the computing device202 and servers, described herein, via a network 204, e.g., theInternet, an Intranet, a wide area network, a local area network, etc.The communication device 208 applies the wireless or wired protocol tocommunicate with the HMD 102.

Upon receiving a determination that an interactive object does notsatisfy the threshold from the content processor 128, the communicationdevice 206 sends for approval to the computing device 202 via thenetwork 204. The communication device 206 sends information associatedwith the interactive object when the interactive object does not satisfythe threshold. Examples of the information associated with theinteractive object include a display characteristic of the interactiveobject, profile information regarding the user, biometric informationregarding the user, history of the user, a rating assigned to theinteractive object, a type of the interactive object, a rating assignedto an interactive object similar to the interactive object, a typeassigned to the similar interactive object, etc. Examples of a displaycharacteristic of the interactive object include a look and feel of theinteractive object, audio output of the interactive object, skin of theinteractive object, gesture of the interactive object, image of theinteractive object, a video of the interactive object, an interactiveenvironment in which the interactive object is to be displayed, etc.

The information associated with the interactive object is sent to acommunication device 209 of the computing device 202. The communicationdevice 209 applies the network protocol, e.g., depacketization protocol,etc., to retrieve the information associated with the interactive objectand provides the information associated with the interactive object to aprocessor system 210 of the computing device 202. A processor systemincludes one or more processors. The processor system 210 renders theinformation associated with the interactive object on a display device212 of the computing device 202. For example, the processor system 210displays an image of the interactive object 104A and the interactiveobject 104B to be displayed on the HMD 102. As another example, theprocessor system 210 provides an audio output that is to be provided onthe HMD 102 with a display of the interactive object 104A. As yetanother example, the processor system 210 displays text of theinteractive object 104A. As another example, the processor system 210displays a rating assigned to the interactive object 104A and/or toanother interactive object similar to the interactive object 104A. Asyet another example, when the user 302 logs into his/her user account,the processor system 202 displays the information associated with theinteractive object. Examples of a display device include an LED displaydevice, an LCD display device, a cathode ray tube (CRT) display device,a plasma display device, etc.

The user 302 indicates his/her approval by selecting an approvalcheckbox that is rendered by the processor system 210 with theinformation associated with the interactive object on the display device212 or by entering text indicating approval of the user 302. Theapproval of the user 302 is sent by the communication device 209 via thenetwork 204 to the communication device 206. Upon receiving theapproval, the content processor 128 determines not to augment theinteractive object for which the approval is received and providesinteractive environment data to the HMD 102 for rendering theinteractive environment 122.

On the other hand, the user 302 indicates his/her disapproval byselecting a disapproval checkbox that is rendered by the processorsystem 212 with the information associated with the interactive objecton the display device 212 or by entering text indicating disapproval ofthe user 302. The disapproval of the user 302 is sent by thecommunication device 209 via the network 204 to the communication device206. Upon receiving the disapproval, the content processor 128determines to augment the interactive object for which the disapprovalis received and provides interactive environment data to the HMD 102 forrendering the interactive environment 118.

In one embodiment, during a time in which the information associatedwith the interactive object is sent to the computing device 202 forapproval and until the approval is received from the user 302, thecontent processor 128 augments data regarding the interactive objectwith augmentation data in response to determining that the interactiveobject does not satisfy the threshold for presentation on the HMD 102.For example, until the approval is received from the computing device202 by the game console 150, interactive environment data used to renderthe interactive environment 122 is augmented by the content processor128 with augmentation data to generate augmented interactive environmentdata. The augmented interactive environment data is sent by the contentprocessor 128 via the communication device 208 and a communicationdevice of the HMD 102. The processor of the HMD 102 renders theaugmented interactive environment data to display the augmentedinteractive environment 118 on the HMD 102.

In the embodiment, when the approval is received by the contentprocessor 128, the content processor 128 determines to replace the datafor rendering the augmented interactive environment 118 with data forrendering the interactive environment 122. For example, upon receivingthe approval from the user 302, the content processor 128 sendsinteractive environment data for rendering the interactive environment122 upon receiving the approval from the user 302. To illustrate, thecontent processor 128 sends via the communication device 208 interactiveobject data to a communication device of the HMD 102. The communicationdevice of the HMD 102 applies the wired or wireless protocol to retrievethe interactive object from signals received from the communicationdevice 208, and provides the interactive object data to the processor ofthe HMD 102. The processor of the HMD 102 renders the interactive objectdata to display the interactive object 104A at a position at which theaugmented interactive object 114A was being displayed. On the otherhand, when the disapproval is received from the user 302, the contentprocessor 128 determines to continue the presentation of the augmentedinteractive environment 118 without a need to send interactiveenvironment data for rendering the interactive environment 122.

In one embodiment, a position of an interactive object is determinedwith respect to a reference co-ordinate, e.g., origin (0, 0, 0), etc.,at a corner of a display screen, e.g., a display screen of the HMD 102,etc., on which the interactive object is displayed.

In an embodiment, in addition to determining that the interactiveenvironment 118 is to be augmented while the content processor 128 iswaiting for a response to a request for approval sent to the computingdevice 202, the content processor 128 generates an instruction forindicating on the HMD 102 to the user 106 that the augmented interactiveenvironment 118 will be presented on the HMD 102 until the approval isreceived from the user 302. The content processor 128 sends theinstruction to the communication device 208, which communicates, usingthe wired protocol or the wireless protocol, the instruction to acommunication device of the HMD 102. The communication device providesthe instruction to the processor of the HMD 102. The processor of theHMD 102 renders the instruction to display the instruction on one ormore display screens of the HMD 102. In addition, the content processor128 augments data regarding the interactive environment 122 to generatedata regarding the augmented interactive environment 118 and sends thedata regarding the augmented interactive environment 118 to thecommunication device 208. The communication device applies the wired orthe wireless protocol to send the data regarding the augmentedinteractive environment 118 to a communication device of the HMD 102.The HMD 102 renders the data regarding the augmented interactiveenvironment to display the augmented interactive environment 118 on theHMD 102 until a response to the request for approval is received fromthe computing device 202 by the content processor 128.

In one embodiment, upon sending a request for approval to the user 302via the network 204, the content processor 128 sends a pause instructionand an instruction to indicate the user 106 to wait until the approvalis received. The pause instruction and the instruction to indicate towait are sent via the communication device 208 and a communicationdevice of the HMD 102 to the processor of the HMD 102. Upon receivingthe pause instruction, the processor of the HMD 102 pauses a display ofa preceding interactive environment from proceeding to a display of theinteractive environment 122. The preceding interactive environment isdisplayed on the HMD 102 preceding to a display of the interactiveenvironment 122. The preceding interactive environment excludes aninteractive object that does not satisfy the threshold and theinteractive environment 122 includes the interactive objects 104A and104B that do not satisfy the threshold. Moreover, upon receiving theinstruction to indicate to wait, the processor of the HMD 102 displaysthe instruction on one or more display screens of the HMD 102 to informthe user 106 that the interactive environment being presented via theHMD 102 is paused until an approval from the user 302 is received.

In the embodiment, when the approval is received by the contentprocessor 128, the content processor 128 determines that the interactiveenvironment 122 is to be presented via the HMD 102. For example, theinteractive environment 122 is a next state, e.g., a next game state,etc., that follows the interactive environment that is paused. Thecontent processor 128 identifies the interactive environment 122 as thenext state and provides data for rendering the interactive environment122 via the communication device 208 and a communication device of theHMD 102 to the processor of the HMD 102. Upon receiving the data forrendering the interactive environment 122, the processor of the HMD 102renders the interactive environment 122.

Further, in the embodiment, upon receiving disapproval from the user302, the content processor 128 augments data for rendering theinteractive environment 122 with augmentation data to generate data forrendering the augmented interactive environment 118. For example, thecontent processor 128 changes a look and feel of data for rendering theinteractive environment 122 and/or changes an audio output of the datafor rendering the interactive environment 122. As another example, thecontent processor 128 removes one or more elements of data for renderingthe interactive object 104A to generate data for rendering theinteractive object 114A. To illustrate, the content processor 128removes obscene gesture data and replaces the obscene gesture data withdecent data, e.g., data that indicates decency, data that is clean, etc.As another illustration, the content processor 128 removes profane wordsor text and replaces the profane words or text with clean language. Thecontent processor 128 sends the data for rendering the augmentedinteractive environment 118 via the communication device 208 and acommunication device of the HMD 102 to the processor of the HMD 102, andthe processor of the HMD 102 renders the augmented interactiveenvironment 118 on one or more display screens of the HMD 102.

In one embodiment, a display to a user includes a display of aninteractive environment when a user account of the user is accessed bythe user. The user account is accessed when login information providedby the user is authenticated.

In an embodiment, the processor system 210 includes an audio/video (A/V)separator that separates audio data from image data received from thecommunication device 209. The image data is sent by the A/V separator toa processor of the processor system 210 for rendering the image data todisplay an image, e.g., an image of an interactive object, etc., on thedisplay device 212. The audio data is sent to a synchronizer of theprocessor system 210 for synchronizing a display of the image data withoutput of the audio data via one or more speakers on the computingdevice 202. The synchronizer schedules for playing sound associated withdisplay of an interactive object at the same time the interactive objectis displayed. The synchronizer sends the audio data to adigital-to-analog converter that converts the audio data from a digitalformat into an analog format. The analog audio data is amplified by anamplifier (A) of the processor system 210. The amplified analog audiodata is converted into sound by the one or more speakers of thecomputing device 202.

FIG. 2B is a diagram of an embodiment of the game console 150 toillustrate augmentation of interactive environment data according towhether an approval or disapproval is received from the user 302. Thecontent identifier 126 parses the interactive environment data 154 thatis stored in a memory device 252 to identify the interactive object data152A compared to other interactive objects 152B and 152C of theinteractive environment data 154. The interactive object data 152 thatis identified is stored by the content identifier 126 in a memory device254.

An approval/disapproval identifier 256 distinguishes an approval that isreceived from the user 302 from a disapproval that is received from theuser 302. Examples of the approval/disapproval identifier 256 include asoftware module, an ASIC, a PLD, etc. Upon determining that an approvalis received from the user 302, the approval/disapproval identifier 256sends a signal to a switch 258 to connect the memory device 254 to thecommunication device 208. A processor of the communication device 208accesses the interactive object data 152A from the memory device 254 andsends the interactive object data 152A using the wired protocol or thewireless protocol to the HMD 102 for display of the interactive object104A (FIG. 1B) in the interactive environment 122 (FIG. 1B). Examples ofthe switch 258 include one or more transistors, an ASIC, a PLD, amultiplexer, etc.

On the other hand, upon determining that a disapproval is received fromthe user 302, the approval/disapproval identifier 256 sends a signal tothe switch 258 to connect the memory device 254 to the augmenter 164.The augmenter 164 accesses the interactive object data 152A from thememory device 254 and augments the interactive object data 152 withaugmentation data to generate data for rendering the augmentedinteractive object 114A (FIG. 1C). The augmenter 164 provides the datafor rendering the augmented interactive object 114A to the communicationdevice 208. The communication device 208 sends the data for renderingthe augmented interactive object 114A to the communication device of theHMD 102 by applying the wired or the wireless protocol. Thecommunication device of the HMD 102 provides the data for rendering theaugmented interactive object 114A to the processor of the HMD 102 fordisplay of the augmented interactive object 114A in the augmentedinteractive environment 118.

FIG. 2C is a diagram of an embodiment of a system 270 for illustratingan effect of approval or disapproval by the user 302 (FIG. 2A). Thecontent processor 128 (FIG. 2A) of the game console 150 determines thata gesture 272 that is to be performed by an avatar 274 and to bedisplayed on the HMD 102 is inappropriate for the user 106 (FIG. 2A).For example, the content processor 128 determines that the gesture 272is obscene or indecent when the gesture does not satisfy the threshold.

The content processor 128 sends information regarding the gesture 272via the communication device 206 (FIG. 2A), the network 204 (FIG. 2A),and the communication device 209 (FIG. 2A) to the processor system 210(FIG. 2A) of the computing device 202 (FIG. 2A) operated by the user302. Examples of the information regarding the gesture 272 include arating of the gesture 272, an email address of the user 106 to whom thegesture 272 is to be displayed on the HMD 102, an image of the gesture272, a video of the gesture 272, etc. Moreover, a request for a decisionwhether to approve or disapprove a display of the gesture 272 is sent bythe content processor 128 via the communication device 206, the network204, and the communication device 209 to the processor system 210. Theprocessor system 210 displays the information regarding the gesture 272and the request for approval or disapproval via the display device 212for viewing by the user 302.

The user 302 provides via an input device, e.g., a touchscreen, akeypad, a keyboard, a stylus, a button, etc., of the computing device202 a response to the request to the processor system 210. When theresponse is of approval, the approval response is sent by the processorsystem 210 via the communication device 209, the network 204, and thecommunication device 206 to the content processor 128 and the contentprocessor 128 determines not to augment the gesture 272 and sends thegesture 272 via the communication device 208 (FIG. 2A) of the gameconsole 150 and a communication device of the HMD 102 to the processorof the HMD 102. The HMD 102 presents the gesture 272 on the HMD 102 tothe user 106.

On the other hand, when the response is of disapproval, the disapprovalresponse is sent by the processor system 210 via the communicationdevice 209, the network 204, and the communication device 206 to thecontent processor 128 and the content processor 128 augments the gesture272 with augmentation data to generate an augmented gesture 330. Theaugmented gesture 330 is sent by the content processor 128 via thecommunication device 208 (FIG. 2A) of the game console 150 and acommunication device of the HMD 102 to the processor of the HMD 102. TheHMD 102 presents the augmented gesture 330 instead of the gesture 272 onone or more display screens of the HMD 102.

In one embodiment, the information regarding the gesture 272 isconverted from a three-dimensional format to a two-dimensional format bythe content processor 128 before being displayed on a display screen ofthe client device 202. For example, the avatar 274 and the gesture 272are displayed in a three-dimensional format on the HMD 102. The avatar274 and the gesture 272 are modified from the three-dimensional formatto a two-dimensional format by the content processor 128 to facilitate adisplay of the avatar 274 and the gesture 272 on a display screen of theclient device 202. The conversion from the three-dimensional format tothe two-dimensional format is executed to facilitate the informationregarding the gesture 272 to be presented on a display screen of theclient device 202 and to provide a focus of the information regardingthe gesture 272 on the display screen.

In one embodiment, the information regarding the gesture 272 isconverted from a three-dimensional format to a two-dimensional format bya processor of the processor system 210 and/or is re-sized to fit adisplay screen of the client device 202 before being displayed on thedisplay screen.

In an embodiment in which the user 302 is using an HMD to interact withan environment while the user 106 is interacting with an environment,there is no need to re-size the information regarding the gesture 272and/or convert the information regarding the gesture 272 from thethree-dimensional format to the two-dimensional format. In theembodiment, the information regarding the gesture 272 is presented tothe user 302 in the three-dimensional format and is of the same size asthat presented on the HMD 102 worn by the user 106.

FIG. 3A is a diagram of an embodiment of a system 300 to illustrate thatthe interactive environment 122 is augmented for one user 106 and is notaugmented for another user 306. The system 300 includes a share server301 that is connected via the network 204 (FIG. 2A) to the game console150 and to a game console that is operated by the user 306. The shareserver 301 stores the interactive environment data 154 that is to beshared between the users 106 and 306. For example, after the user 106provides login information to his/her user account and the logininformation is authenticated by an authentication server that isconnected to the network 204, the share server 301 receives anindication of the authentication from the authentication server via thenetwork 204 and sends the interactive environment data 154 to thecontent processor 128 of the game console 150 via the network 204. Thecontent processor 128 determines whether the interactive environmentdata 154 satisfies the threshold. Upon determining that the interactiveenvironment data 154 satisfies the threshold, the content processor 128sends interactive environment data 154 to the processor of an HMD 102that is worn by the user 106 on his/her head. The interactiveenvironment data 154 is rendered to display the interactive environment122 on the HMD 102. On the other hand, upon determining that theinteractive environment data 154 does not satisfy the threshold, thecontent processor 128 augments the interactive environment data 154 withaugmentation data, and sends the augmented interactive environment datato the processor of an HMD 102. The processor of the HMD 102 renders theaugmented interactive environment data to display the augmentedinteractive environment 118 on the HMD 102.

Continuing with the example of the interactive environment data 154 thatis to be shared between the users 106 and 306, the interactiveenvironment data 154 includes interactive object data for representingthe user 106. To illustrate, the interactive environment data 154includes avatar data of an avatar whose skin is selected by the user 106or has a default skin, and the user 106 controls movement of the avatarvia an input, e.g., movement of the user 106, movement of hands of theuser 106, a game controller that is held by the user 106, etc.

Continuing further with the example of the interactive environment data154 that is to be shared between the users 106 and 306, the sameinteractive environment data 154 that is sent to the game console 150 issent by the share server 301 to a game console that is operated by theuser 306. To illustrate, the game console that is operated by the user306 is in a real-world environment, e.g., a room, etc., in which theuser 306 is located. As another illustration, the user 306 logs intohis/her user account and the share server 301 sends the interactiveenvironment data 154 via the network 204 to the game console that isoperated by the user 306. The interactive environment data 154 includesan interactive object that represents the user 106. For example, theinteractive environment data 154 includes interactive object data forrepresenting the user 306. To illustrate, the interactive environmentdata 154 includes avatar data of an avatar whose skin is selected by theuser 306 or has a default skin, and the user 306 controls movement ofthe avatar via an input, e.g., movement of the user 306, movement ofhands of the user 306, a game controller that is held by the user 306,etc.

Continuing with the example of the interactive environment data 154 thatis to be shared between the users 106 and 306, a dynamic filter 314 ofthe game console that is operated by the user 306 uses biometricinformation regarding the user 306 received from the user biometricserver 112C, and/or uses profile information regarding the user 306received from the user profile server 112B, and/or uses a rating of theinteractive environment 122 or an interactive environment similar to theinteractive environment 122 from the ratings server 108, and/or uses atype of the interactive environment 122 or an interactive environmentsimilar to the interactive environment 122 from the ratings server 108,and/or uses a content control level set by an administrator of the user306, and/or users a content type level set by the administrator of theuser 306 to determine whether the interactive environment data 154satisfies a threshold for the user 306. The dynamic filter 314 is thesame in structure and function as that of the dynamic filter 124 exceptthat the dynamic filter 314 is located in the game console that isoperated by the user 306. The administrator of the user 306 is a parentof the user 306 or a guardian of the user 306. Upon determining that theinteractive environment data 154 satisfies the threshold for the user306, a content processor within the dynamic filter 314 determines toprovide the interactive environment data 154 to the HMD 304 withoutaugmenting the interactive environment data 154. The content processorof the dynamic filter 314 sends the interactive environment data 154 forrendering the interactive environment 122 to a communication device ofthe game console that is operated by the user 306. The communicationdevice of the game console that is operated by the user 306 applies thewired protocol or the wireless protocol to send the interactiveenvironment data 154 to a communication device of the HMD 304. Aprocessor of the HMD 304 receives the interactive environment data 154from the communication device of the HMD 304 and applies a renderingprogram to the interactive environment data 154 to display theinteractive environment 122 on one or more display screens of the HMD304.

In one embodiment, both the HMDs 102 and 304 communicate with the gameconsole 150 that is operated by both the users 102 and 304, e.g., boththe user 106 and 304 use the game console 150 that is located in areal-world environment in which both the users 102 and 304 are located,etc. For example, the game console 150 receives the interactiveenvironment 154 and determines whether to augmented the interactiveenvironment data 154 for each of the users 106 and 306.

In an embodiment, the interactive program, e.g., a computer softwareprogram code, a game code, an interactive environment data generationcode, etc., is stored on the share server 301 for server-based gaming.The interactive program is executed by a processor of the share server301 to determine interactive environment data to be presented on one ormore HMDs, e.g., the HMD 102 and the HMD 304.

In one embodiment, the interactive program is stored on the game console150 and is executed by a processor of the game console 150 to determineinteractive environment data to be presented on the HMD 102 that is incommunication with the game console via the wired or wireless protocol.Moreover, the interactive environment data is sent from a communicationdevice of the game console 150 to the share server 301 for sharing withother game consoles, e.g., the game console that is operated by the user306, etc.

FIG. 3B is a diagram of an embodiment of a display device 350 of the HMD102 (FIG. 2A). The display device 350 is about to display a classroomenvironment, which is an example of the interactive environment 122(FIG. 2A). In the classroom environment, hands 352 of an avatar thatrepresents the user 106 (FIG. 2A) and an avatar 354 represents the user306 (FIG. 3A), which whom the user 106 is about to share the classroomenvironment, are shown. The user 106 is about to view the classroomenvironment on the HMD 102 and the user 306 is about to view theclassroom environment on the HMD 304 (FIG. 3A).

Movement of the hands 352 is controlled by the user 106 and movement ofthe avatar 354 is controlled by the user 306. For example, as the user106 moves his/her hands with respect to a camera, e.g., camera of thegame console 150, camera of the HMD 102, independently-located camera ina room in which the user 106 is located, etc., the camera captures imagedata of the hands. The image data is provided from the camera to thegame console 150 and the content processor 128 determines positions ofthe hands 352 from the image data. The positions are provided by thecontent processor 128 to the processor of the HMD 102 for display on theHMD 102.

A professor avatar, which is displayed in the classroom environment, iscontrolled by yet another user or by a content processor of a gameconsole. The avatar 354 is about to write inappropriate content, e.g.,content that does not satisfy a threshold, etc., and the avatar 354 hasan indecent look and feel for the classroom environment, e.g., has alook and feel that does not satisfy a threshold, etc. For example, theinteractive program is executed by a content processor or a server toallow the avatar 354 to write content a classroom board when the avatar354 is at a location of the classroom board interactive object of theclassroom environment. As another example, the user 306 controls a handof the avatar 354 via an input device, examples of which are providedherein, to write the inappropriate content 356 on the classroom board.To illustrate, the user 306 moves his/her hand and positions of the handare captured by a camera, e.g., a digital camera within the game consoleoperated by the user 306, a digital camera within the HMD 304 (FIG. 3A)worn by the user 306, an independently-located camera in a real-worldenvironment in which the user 306 is located, etc. The positions of thehand are analyzed by the content processor of the game console operatedby the user 306 to determine a position of a hand of the avatar 354. Theposition of the hand of the avatar 354 has the same movement within theclassroom environment as that of the user 306 in a real-worldenvironment in which the user 306 is located.

The inappropriate content is an example of an interactive object 356.Moreover, an interactive object 358 that includes an interrogativeremark “What?” made by the professor avatar is about to be displayedwhen the interactive object 356 having the inappropriate content will bedisplayed, and an interactive object 360 is about to be displayed whenthe interactive object 356 having the inappropriate content will bedisplayed. The interactive object 360 includes an exclamatory remark“Wow!” made by an avatar that represents the user 102 and whose hands352 are visible in FIG. 3B.

The content processor 128 of the game console 150 determines that eachof avatar 354, the interactive object 356, and the interactive object358 do not satisfy the threshold for display on the HMD 102 (FIG. 2A)for the user 106 and determines that the interactive object 360satisfies the threshold for the user 106.

FIG. 3C is a diagram of an embodiment of the display device 350 of theHMD 102 on which a different classroom environment is displayed that theclassroom environment shown in FIG. 3B. In the classroom environment ofFIG. 3C, the interactive object 212 with text “Nice!” is displayed whenthe content processor 128 (FIG. 2A) of the game console 150 (FIG. 2A)augments data for displaying the interactive object 358 (FIG. 3B) withaugmentation data. Moreover, in the classroom environment of FIG. 3C, anavatar 216 that has decent clothes, e.g., clothes that satisfy thethreshold, etc., and decent look and feel, e.g., decent haircut, lookand feel that satisfies the threshold, etc., is displayed when thecontent processor 128 (FIG. 2A) of the game console 150 (FIG. 2A)augments data for displaying the avatar 354 (FIG. 3B) with augmentationdata. Also, in the classroom environment of FIG. 3C, the interactiveobject 214 that has a formula “E=mC²”, e.g., text that satisfies thethreshold, etc., is displayed when the content processor 128 (FIG. 2A)of the game console 150 (FIG. 2A) augments data for displaying theinteractive object 356 (FIG. 3B) with augmentation data.

It should be noted that in a shared environment in which the classroomenvironment is displayed on the HMD 304 (FIG. 3A) worn by the user 306,the content processor of the game console that is operated by the user306 determines whether the interactive objects 356, 358, 360 and theavatar 354 are to be replaced other interactive objects for the user306, e.g., whether the interactive objects 356, 358, 360 and the avatar354 satisfy a threshold for the user 306, etc. Upon determining that theinteractive objects 356, 358, 360 and the avatar 354 are not to bereplaced, the processor of the game console that is operated by the user306 sends classroom environment data to the HMD 304 worn by the user 306to display the classroom environment shown in FIG. 3B on the HMD 304 tothe user 306.

FIG. 4 is a diagram of an embodiment of a system 400 to illustrate useof a camera to capture positions of a body part, e.g., hands, legs,feet, head, etc., of a user 402. The user 402 is an example of the user106 (FIG. 3A) or of the user 306 (FIG. 3A). The user 402 is wearing anHMD 404 to cover his/her eyes with one or more display screens of theHMD 404. The HMD 404 is an example of the HMD 102 (FIG. 3A) or of theHMD 304 (FIG. 3A).

In an embodiment, the user 402 is holding and operating a controller,e.g., a joystick, a hand-held controller, a keyboard, a stickcontroller, a sword controller, a gun controller, a glove controller,etc., to provide input to a game console 408 for changing an interactiveenvironment displayed on the HMD 404. The game console 408 is an exampleof the game console 150 (FIG. 2A) or of the game console that isoperated by the user 306 (FIG. 3A).

A camera 406, e.g., a depth camera, a digital camera, etc., capturesimages of the body part, the controller, and/or the HMD 404, andprovides image data regarding positions of the body part, thecontroller, and/or the HMD 404 to the game console 408, e.g., using thewired or wireless protocol, etc. A processor, e.g., the contentprocessor 128 (FIG. 2A), etc., of the game console 408 analyzes theimage data to determine positions of the body part, the controller,and/or the HMD 404. Based on the positions, the processor of the gameconsole 408 determines by executing the interactive program whetherinteractive environment data used to display an interactive environmentthat is displayed within the HMD 404 is to be modified. The interactiveenvironment is about to be displayed on the HMD 404.

Upon determining that the interactive environment data is to bemodified, the processor of the game console 408 modifies the interactiveenvironment data to generate modified interactive environment data. Theprocessor of the game console 408 sends the modified interactiveenvironment data to a communication device of the game console 408. Thecommunication device of the game console 408 applies the wired or thewireless protocol to send the modified interactive environment data to acommunication device of the HMD 404. A processor of the HMD 404 appliesa rendering program to the modified interactive environment data todisplay a modified interactive environment on one or more displayscreens of the HMD 404.

On the other hand, upon determining that the interactive environmentdata is not to be modified, the processor of the game console 408 doesnot modify the interactive environment data and a display of aninteractive environment on the HMD 404 that is currently being presentedon the HMD 404 continues.

In one embodiment, the camera 406 is located within the game console 408or is attached to the HMD 404.

FIG. 5 is a diagram of an embodiment of a system 500 to illustrate useof audio data or image data as interactive environment data. The system500 includes the HMD 404 and the game console 408. The game console 408includes a game processor 502, a game communication device 504, and agame memory 506. The game processor 502 is an example of the contentprocessor 128 (FIG. 1B). The game processor 506 accesses interactiveenvironment data, e.g., data that includes interactive object data,interactive object data, audio data, image data, video data, etc., fromthe game memory 516 and provides the interactive environment data to thecommunication device 504. The interactive environment data that isaccessed is unaugmented or augmented interactive environment data. Thecommunication device 504 applies the wired protocol or the wirelessprotocol to the interactive environment data and sends the interactiveenvironment data to a communication device 512 of the HMD 404.

The communication device 512 applies the wired or wireless protocol toreceive the interactive environment data from the communication device512 and provides the interactive environment data to an audio/videoseparator 512, e.g., an audio extractor, etc., of the HMD 404. Theaudio/video separator 512 separates audio data from image data, both ofwhich are included in the interactive environment data, sends the imagedata to a processor 514 of the HMD 404 and sends the audio data to asynchronizer, which is illustrated as “SYNC” in FIG. 5. The image datais rendered by the processor 514 for display on a display device 516 ofthe HMD 404. The display device 516 is an example of a display device ofthe HMD 102 (FIG. 3A) or of the HMD 304 (FIG. 3A). The synchronizersynchronizes a playback of sound with that of a display of one or moreinteractive objects. For example, the synchronizer schedules for playingsound at the same time as an interactive object is displayed at aposition and/or an orientation and/or as having a color and/or as havinga shape and/or as having a texture. The synchronizer sends thesynchronized audio data to a digital to analog converter (DAC) thatconverts the audio data from a digital format into an analog format. Theanalog audio data is amplified by an amplifier (A). The amplified analogaudio data is converted into sound by one or more speakers (S).

It should be noted that in one embodiment, any embodiment describedherein is combined with any other embodiment described herein.

In one embodiment, a user, as used herein, identifies a user accountthat the user accesses. For example, the user 106 accesses a useraccount assigned to the user 106 and the user 302 accesses another useraccount assigned to the user 302.

In one embodiment, any of the functions described herein as beingperforming by a processor of a game console, e.g., the game console 150(FIG. 1C), the game console operated by the user 306 (FIG. 3A), etc.,are performed instead by a server that is connected via the network 204to the game console. For example, server-based gaming is used to displaya game on an HMD. The server provides data for rendering an interactiveenvironment via the game console to an HMD for rendering on the HMD orprovides data for rendering the interactive environment to the HMDwithout using the game console. As another example, parts of the gameconsole 150 are implemented within a server.

In an embodiment, any of the functions described herein as beingperforming by a processor of a game console, e.g., the game console 150(FIG. 1C), the game console operated by the user 306 (FIG. 3A), etc.,are performed instead by an HMD. For example, parts of the game console150 are implemented within the HMD 102. The HMD 102 is connected toservers, described herein, via the network 204.

In one embodiment, any of the functions described herein as beingperforming by a processor of a game console, e.g., the game console 150(FIG. 1C), the game console operated by the user 306 (FIG. 3A), etc.,are performed instead by a combination of the game console, an HMD, anda server connected via the network 204 to the game console.

In an embodiment, the systems and methods, described herein, enables auser to create skins for his/her character or characters in anenvironment, based on content being present in an HMD. If the HMDcontent is immersive and places the user in real scene environments, theuser of the HMD may wish to customize his avatar or parts of himselfthat he sees in the HMD or an avatar of another user or parts of theavatar of the other user. The skins will transport look and feel of anavatar, without changing functionality of the avatar. For instance, theskins transform an avatar into a cartoon, or transform an environmentinto black-white (e.g., like an old movie). The system provides filtersthat the user sets via the HMD, so that changes between skins areenabled.

In an embodiment, users create skins, modify existing skins, create usergenerated skins that are shared, and skins that are shared with otherusers based on a type of content being viewed in an HMD. The skins areshared or found on a site or accessed via a content finder via the HMD.The skins have various ratings, such as adult ratings, children ratings,etc.

In one embodiment, parental controls are provided so that certain skinsare accessible after parent approval. For example, a message isgenerated and sent to a parent asking for approval of a skin for achild, in a particular game. In other examples, some skins arepre-filtered so children cannot see certain skins. As yet anotherexample, parental filtering is executed automatically by an HMD, e.g.,by measuring the age of the user by examination of eyes of the user,etc. One way is to measure the eye separation is to compare the eyeseparation with the parent's eye separation or to by using models thattell if the HMD user is a child or adult.

In an embodiment, when content changes in a virtual world, an HMD systemautomatically pauses or sends a notice to a user that parentalauthorization is needed. This is automated to trigger the pause andauthorization if the user is detected to not be an adult, such as by eyescans, voice detection, historical use patterns, or pre-defined usersettings (e.g., by the parent). Also, clips of content that are believedto need authorization are sent to the parent. The system intelligentlyidentifies the clips or image frames for viewing by the parent orguardian, before progression of the HMD content. For example, the clipsare automatically sized so that the images or clips are sent to theparent's smart phone and viewed, which is usually hard given that theHMD content is in 3D. Thus, if the parent approves, the approval is sentto a server and the server then allows the child to continue. Ifapproval is not received, then the user is provided with an alternateuser experience. In this manner, the parent monitors content to beviewed by the child without having to wear the HMD that the child iswearing.

In one embodiment, the parent identifies types of content that he/shedoes not approve of, which triggers the sending for approval to theparent. The types of content can be generic types or classes, so thatthe rules can be shared across different types of HMD content.

In an embodiment, one of the systems and methods described herein,allows users to rate content, parts of content, particular scenes,particular images, or audio, and use this to augment a rating of thecontent. This allows the system to identify what content in particularscenes would be risky to show to particular children.

In one embodiment, a plug-in is used, so that users get social feedbackregarding content. Raters of the content can also be graded.

In an embodiment, filters are by parents, so that content ispre-filtered dynamically. If content in an HMD is being viewed, e.g.,for a particular scene, certain content can be replaced with child ratedcontent, so that most of the interactive experience remainssubstantially the same. The same is done for language filtering, basedon the parental settings. The filters are associated to gestures, sothat certain inappropriate gestures are filtered or blocked or replacedwith different content.

FIG. 6 is an isometric view of an HMD 600, which is an example of theHMD 404. The HMD 600 includes bands 602 and 604 that go to the back ofthe head of the user 402 when worn by the user 402. Moreover, the HMD600 includes earphones 606A and 606B, e.g., speakers, etc., that emanatesound associated with an interactive environment, e.g., a gameenvironment, an interactive tour environment, etc., that is presented byexecution of the interactive program, e.g., a game program, aninteractive environment generation program, etc. The HMD 600 includeslenses 608A and 608B that allows the user 402 (FIG. 5) to view aninteractive environment that is displayed on a display screen of the HMD600. A groove 680 rests on a nose of the user 402 to support the HMD 600on the nose.

In some embodiments, the HMD 600 is worn by the user 402 in a mannersimilar to which sunglasses, glasses, or reading glasses are worn by theuser 402.

FIG. 7 illustrates a system for interactive game play of a video game,in accordance with an embodiment described in the present disclosure.The user 402 is shown wearing the HMD 404. The HMD 404 is worn in amanner similar to glasses, goggles, or a helmet, and is configured todisplay a video game or other content to the user 402. The HMD 404provides an immersive experience to the user 402 by virtue of itsprovision of display mechanisms (e.g., optics and display screens) inclose proximity to the user's eyes and the format of content that isdelivered to the HMD 404. In one example, the HMD 404 provides displayregions to each of the user's eyes which occupy large portions or eventhe entirety of the field of view of the user 402. As another example,the user 402 feels as if he/she is in, e.g., is a part of, etc., aninteractive environment that is displayed on the HMD 404.

In one embodiment, the HMD 404 is connected to a computer 702. Theconnection to computer 702 can be wired or wireless. The computer 702,in one embodiment, is any general or special purpose computer, includingbut not limited to, a game console, a personal computer, a laptop, atablet, a mobile device, a smart phone, a tablet, a thin client, aset-top box, a media streaming device, a smart television, etc. In someembodiments, the HMD 404 can connect directly to the Internet, which mayallow for cloud gaming without the need for a separate local computer.In one embodiment, the computer 702 is configured to execute a videogame (and other digital content), and output the video and audio fromthe video game for rendering by the HMD 404.

The computer 702 may, in some embodiments, is a local or remotecomputer, and the computer runs emulation software. In a cloud gamingembodiment, the computer 702 is remote and may be represented by aplurality of computing services that may be implemented in data centers,where game systems/logic is employed and distributed to the user 402over a computer network.

The user 402 operates a hand-held controller 706 to provide input for aninteractive environment. In one example, a camera 704 is configured tocapture images of a real-world environment in which the user 402 islocated. These captured images are analyzed to determine a location andmovements of the user 402, the HMD 404, and the controller 706. In oneembodiment, the controller 706 includes a light, or lights, which aretracked to determine its location and orientation. Additionally, asdescribed in further detail below, in one embodiment, the HMD 404includes one or more lights, which are tracked as markers to determinethe location and orientation of the HMD 404 in substantial real-timeduring a display of an interactive environment.

The camera 704, in one embodiment, includes one or more microphones tocapture sound from the real-world environment. Sound captured by amicrophone array is processed to identify the location of a soundsource. Sound from an identified location is selectively utilized orprocessed to exclusion of other sounds not from the identified location.Furthermore, in one embodiment, the camera 704 included multiple imagecapture devices, e.g., stereoscopic pair of cameras, an infrared (IR)camera, a depth camera, and combinations thereof.

In some embodiments, the computer 702 executes games locally on theprocessing hardware of the computer 702. The games or content isobtained in any form, such as physical media form (e.g., digital discs,tapes, cards, thumb drives, solid state chips or cards, etc.) or by wayof download from the network 204. In an embodiment, the computer 702functions as a client in communication over the network 204 with a cloudgaming provider 712. The cloud gaming provider 712 maintains andexecutes the video game being played by the user 402. The computer 702transmits inputs from the HMD 404, the controller 706, and/or the camera704, to the cloud gaming provider 712, which processes the inputs toaffect the game state of the video game being executed. The output fromthe executing video game, such as video data, audio data, and hapticfeedback data, is transmitted to the computer 702. The computer 702further processes the data before transmission or directly transmits thedata to the relevant devices. For example, video and audio streams areprovided to the HMD 404, whereas a vibration feedback command isprovided to the controller 706.

In one embodiment, the HMD 404, controller 706, and camera 704, arenetworked devices that connect to the network 204 to communicate withthe cloud gaming provider 1013. For example, the computer 702 may be alocal network device, such as a router, that does not otherwise performvideo game processing, but facilitates passage of network traffic. Theconnections to the network 204 by the HMD 404, controller 706, andcamera 704 are wired or wireless. In some embodiments, content executedon the HMD 404 or displayable on a display device 714, is obtained fromany of content sources 716. Example content sources can include, forinstance, internet websites that provide downloadable content and/orstreaming content. In some examples, the content can include any type ofmultimedia content, such as movies, games, static/dynamic content,pictures, social media content, social media websites, interactive tourcontent, cartoon content, etc.

In one embodiment, the user 402 is playing a game on the HMD 404, wheresuch content is immersive three-dimensional (3D) interactive content.The content on the HMD 404, while the user 402 is playing, is shared tothe display device 714. In one embodiment, the content shared to thedisplay device 714 allows other users proximate to the user 402 orremote to watch along with game play of the user 402. In still furtherembodiments, another player viewing the game play of user 402 on thedisplay device 714 participates interactively with user 402. Forexample, a user viewing the game play on the display device 714 controlscharacters in the game scene, provides feedback, provides socialinteraction, and/or provides comments (via text, via voice, via actions,via gestures, etc.,) which enables the user who is not wearing the HMD404 to socially interact with the user 402.

FIG. 8 illustrates a head-mounted display (HMD) 800, in accordance withan embodiment described in the present disclosure. The HMD 800 is anexample of the HMD 404 (FIG. 4). As shown, the HMD 800 includes aplurality of lights 802A-H, J and K (e.g., where 802K and 802J arelocated toward the rear or backside of the HMD headband). Each of theselights is configured to have specific shapes and/or positions, and isconfigured to have the same or different colors. The lights 802A, 802B,802C, and 802D are arranged on the front surface of the HMD 800. Thelights 802E and 802F are arranged on a side surface of the HMD 800. Andthe lights 802G and 802H are arranged at corners of the HMD 800, so asto span the front surface and a side surface of the HMD 800. It will beappreciated that the lights are identified in captured images of aninteractive environment in which a user uses the HMD 800.

Based on identification and tracking of the lights, the location andorientation of the HMD 800 in the interactive environment is determined.It will further be appreciated that some of the lights are or are notvisible depending upon the particular orientation of the HMD 800relative to an image capture device, e.g., a camera, a digital camera, adepth camera, an infrared camera, etc. Also, different portions oflights (e.g. lights 802G and 802H) are exposed for image capturedepending upon the orientation of the HMD 800 relative to the imagecapture device. In some embodiments, inertial sensors are disposed inthe HMD 800, which provide feedback regarding positioning, without theneed for lights. In some embodiments, the lights and inertial sensorswork together, to enable mixing and selection of position/motion data.

In one embodiment, the lights are configured to indicate a currentstatus of the HMD 800 to others users in a real-world environment. Forexample, some or all of the lights have a color arrangement, anintensity arrangement, blink, have an on/off configuration, or otherarrangement indicating a current status of the HMD 800. By way ofexample, the lights display different configurations during active gameplay of a video game (generally game play occurring during an activetimeline or within a scene of the game) versus other non-active gameplay aspects of a video game, such as navigating menu interfaces orconfiguring game settings (during which the game timeline or scene isinactive or paused).

In an embodiment, the lights are also configured to indicate relativeintensity levels of game play. For example, the intensity of lights, ora rate of blinking, increases when the intensity of game play increases.

The HMD 800, in one embodiment, additionally includes one or moremicrophones. In the illustrated embodiment, the HMD 800 includesmicrophones 804A and 804B located on the front surface of the HMD 800,and a microphone located on a side surface of the HMD 800. By utilizingan array of microphones, sound from each of the microphones is processedto determine a location of the sound's source. This information isutilized in various ways, including exclusion of unwanted sound sources,association of a sound source with a visual identification, etc.

The HMD 800 includes one or more image capture devices. In theillustrated embodiment, the HMD 800 is shown to include image capturedevices 806A and 806B. In an embodiment, by utilizing a stereoscopicpair of image capture devices, 3D images and video of a real-worldenvironment in front of the HMD 800 is captured from the perspective ofthe HMD 800. Such video is presented to the user 402 to provide the userwith a “video see-through” ability while wearing the HMD 800. That is,though the user 402 cannot see through the HMD 800 in a strict sense,the video captured by the image capture devices 806A and 806Bnonetheless provides a functional equivalent of being able to see thereal-world environment external to the HMD 800 as if looking through theHMD 800.

Such video, in one embodiment, is augmented with interactive elements toprovide an augmented reality experience, or is combined or blended withinteractive elements in other ways. Though in the illustratedembodiment, two cameras are shown on the front surface of the HMD 800,it will be appreciated that there may be any number of externally facingcameras or a single camera can be installed on the HMD 800, and orientedin any direction. For example, in another embodiment, there may becameras mounted on the sides of the HMD 800 to provide additionalpanoramic image capture of the environment.

FIG. 9 illustrates one example of game play using the computer 702 thatis capable of generating and providing video game content to the HMD 800of the user 402 for rendering on the HMD 800. In this illustration, astate of an interactive object, e.g., game content, etc., provided tothe HMD 800 is in a rich interactive 3-D space. As discussed above, astate of an interactive object is downloaded to the computer 702 or isexecuted in one embodiment by a cloud processing system. The cloudgaming service 712 includes a database of users 904, which are allowedto access particular games 930, share experiences with other friends,post comments, and manage their account information.

The cloud gaming service 712 stores game data 906 for specific users,which and the game data is usable during game play, for future gameplay, for sharing to a social media network, or used for storingtrophies, awards, status, ranking, etc. Social data 908 is managed bycloud gaming service 712. In one embodiment, the social data 908 ismanaged by a separate social media network, which is interfaced with thecloud gaming service 712 over the network 204. Over the network 204, anynumber of computers 910 is connected for access to the content andinteraction with other users.

Continuing with the example of FIG. 9, the three-dimensional interactivescene viewed in the HMD 800 includes game play, such as the charactersillustrated in the 3-D view, or another interactive environment. Onecharacter, e.g. P1, etc., is controlled by the user 402 that is wearingthe HMD 800. This example shows a basketball scene between two players,wherein the HMD user 402 is dunking a ball on another character in the3-D view. The other character can be an AI (artificial intelligence)character of the game, or can be controlled by another player or players(Pn). User 402, who is wearing the HMD 800, is shown moving about in aspace of use, where the HMD 800 moves around based on the user's headmovements and body positions. A camera 912 is shown positioned over adisplay screen in the room, however, for HMD use, the camera 912 can beplaced in any location that can capture images of the HMD 800. As such,the user 402 is shown turned at about 90 degrees from the camera 912 anda display device 913, as content rendered in the HMD 800 is dependent onthe direction that the HMD 800 is positioned, from the perspective ofthe camera 912. Of course, during HMD use, the user 402 is moving about,turning his head, looking in various directions, as is needed to takeadvantage of the dynamic interactive scenes rendered by the HMD 800.

FIG. 10 illustrates a user wearing an HMD 1003, during use, inaccordance with one embodiment. The HMD 1003 is an example of the HMD404 (FIG. 4). In this example, it is shown that the HMD 1003 is tracked1002 using image data obtained from captured video frames by the camera912. Additionally, it is shown that the hand-held controller 706 is alsotracked 1004 using image data obtained from captured video frames by thecamera 912. Also shown is the configuration where the HMD 1003 isconnected to a game console 1005 via a cable 1010. The game console 1005is an example of the game console 150 (FIG. 2A) or the game console thatis operated by the user 306 (FIG. 3A). In one embodiment, the HMD 800obtains power from the same cable or can connect to another cable. Instill another embodiment, the HMD 800 has a battery that isrechargeable, so as to avoid extra power cords.

With reference to FIG. 11, a diagram is shown illustrating examplecomponents of an HMD 1100, in accordance with an embodiment described inthe present disclosure. The HMD 1100 is an example of the HMD 404 (FIG.4). It should be understood that more or less components can be includedor excluded from the HMD 1100, depending on the configuration andfunctions enabled. The HMD 1100 includes a processor 1102 for executingprogram instructions. A memory 1104 is provided for storage purposes,and in one embodiment, includes both volatile and non-volatile memory. Adisplay 1106 is included which provides a visual interface that the user402 views.

The display 1106 is defined by one single display, or in the form of aseparate display screen for each eye. When two display screens areprovided, it is possible to provide left-eye and right-eye video contentseparately. Separate presentation of video content to each eye, forexample, can provide for better immersive control of 3D content. Asdescribed herein, in one embodiment, the second screen is provided withsecond screen content of the HMD 1100 by using the output for one eye,and then formatting the content for display in a 2D format. The one eye,in one embodiment, can be the left-eye video feed, but in otherembodiments it can be the right-eye video feed.

A battery 1108 is provided as a power source for the HMD 1100. In otherembodiments, the power source includes an outlet connection to power. Inother embodiments, an outlet connection to power and the battery 1108are provided. A motion detection module 1110 includes any of variouskinds of motion sensitive hardware, such as a magnetometer 1112, anaccelerometer 1114, and a gyroscope 1116.

An accelerometer is a device for measuring acceleration and gravityinduced reaction forces. Single and multiple axis (e.g., six-axis)models are able to detect magnitude and direction of the acceleration indifferent directions. The accelerometer is used to sense inclination,vibration, and shock. In one embodiment, three accelerometers are usedto provide the direction of gravity, which gives an absolute referencefor two angles (world-space pitch and world-space roll).

A magnetometer measures the strength and direction of the magnetic fieldin the vicinity of an HMD. In one embodiment, three magnetometers areused within an HMD, ensuring an absolute reference for the world-spaceyaw angle. In one embodiment, the magnetometer is designed to span theearth magnetic field, which is ±80 microtesla. Magnetometers areaffected by metal, and provide a yaw measurement that is monotonic withactual yaw. The magnetic field is warped due to metal in theenvironment, which causes a warp in the yaw measurement. If necessary,this warp is calibrated using information from other sensors such as thegyroscope or the camera. In one embodiment, accelerometer 1114 is usedtogether with magnetometer 1112 to obtain the inclination and azimuth ofthe HMD 1100.

A gyroscope is a device for measuring or maintaining orientation, basedon the principles of angular momentum. In one embodiment, threegyroscopes provide information about movement across the respective axis(x, y and z) based on inertial sensing. The gyroscopes help in detectingfast rotations. However, the gyroscopes drift overtime without theexistence of an absolute reference. To reduce the drift, the gyroscopesare reset periodically, which can be done using other availableinformation, such as positional/orientation determination based onvisual tracking of an object, accelerometer, magnetometer, etc.

A camera 1118 is provided for capturing images and image streams of thereal-world environment. In one embodiment, more than one camera(optionally) is included in the HMD 1100, including a camera that isrear-facing (directed away from the user 402 when the user 402 isviewing the display of the HMD 1100), and a camera that is front-facing(directed towards the user 402 when the user is viewing the display ofthe HMD 1100). Additionally, in an embodiment, a depth camera 1120 isincluded in the HMD 1100 for sensing depth information of objects in thereal-world environment.

The HMD 1100 includes speakers 1122 for providing audio output. Also, inone embodiment, a microphone 1124 is included for capturing audio fromthe real-world environment, including sounds from the ambientenvironment, speech made by the user 402, etc. In an embodiment, the HMD1100 includes tactile feedback module 1126 for providing tactilefeedback to the user 402. In one embodiment, the tactile feedback module1126 is capable of causing movement and/or vibration of the HMD 1100 soas to provide tactile feedback to the user 402.

LEDs 1130 are provided as visual indicators of status of the HMD 1100.For example, an LED indicates battery level, power on, etc. A cardreader 1132 is provided to enable the HMD 1100 to read and writeinformation to and from a memory card. A USB interface 1134 is includedas one example of an interface for enabling connection of peripheraldevices, or connection to other devices, such as other portable devices,computers, etc. In various embodiments of the HMD 1100, any of variouskinds of interfaces may be included to enable greater connectivity ofthe HMD 1100.

In an embodiment, a Wi-Fi module 1136 is included for enablingconnection to the computer network or to a game console via wirelessnetworking technologies. Also, in one embodiment, the HMD 1100 includesa Bluetooth module 1138 for enabling wireless connection to otherdevices, e.g., a game console, etc. A communications link 1140 isincluded for connection to other devices. In one embodiment, thecommunications link 1140 utilizes infrared transmission for wirelesscommunication. In other embodiments, the communications link 1140utilizes any of various wireless or wired transmission protocols forcommunication with other devices.

Input buttons/sensors 1142 are included to provide an input interfacefor the user 402. Any of various kinds of input interfaces may beincluded, such as buttons, gestures, touchpad, joystick, trackball, etc.In one embodiment, an ultra-sonic communication module 1144 is includedin HMD 1100 for facilitating communication with other devices viaultra-sonic technologies.

In an embodiment, bio-sensors 1146 are included to enable detection ofphysiological data, e.g., the biometric information, etc., from the user402. In one embodiment, the bio-sensors 1146 include one or more dryelectrodes for detecting bio-electric signals of the user 402 throughthe user's skin, voice detection, eye retina detection to identifyusers/profiles, etc.

The foregoing components of HMD 1100 have been described as merelyexemplary components that may be included in HMD 1100. In variousembodiments described in the present disclosure, the HMD 1100 may or maynot include some of the various aforementioned components. Embodimentsof the HMD 1100 may additionally include other components not presentlydescribed, but known in the art, for purposes of facilitating aspects ofthe present invention as herein described.

It will be appreciated by those skilled in the art that in variousembodiments described in the present disclosure, the aforementionedhandheld device is utilized in conjunction with an interactiveapplication displayed on a display to provide various interactivefunctions. The exemplary embodiments described herein are provided byway of example only, and not by way of limitation.

In one embodiment, the computer 702, as referred to herein, includes apersonal computer, or a game console, or a tablet computer, or a smartphone, or a set-top box, or a kiosk, or a wireless device, or a digitalpad, or a stand-alone device, or a handheld game playing device, etc. Inan embodiment, the computer 702 receives encoded video streams, decodesthe video streams, and presents the resulting video to the user 402,e.g., a player of a game. The processes of receiving encoded videostreams and/or decoding the video streams typically includes storingindividual video frames in a receive buffer of the computer 702. Thevideo streams are presented to the user 402 on a display integral to thecomputer 702 or on a separate device such as a monitor or television oran HMD.

The computer 702, in one embodiment, supports more than one game player.For example, a game console supports two, three, four or moresimultaneous players (e.g., P1, P2, . . . Pn). Each of these playersreceives or shares a video stream, or a single video stream includesregions of a frame generated specifically for each player, e.g.,generated based on each player's point of view. Any number of computersare local (e.g., co-located) or are geographically dispersed. The numberof computers included in a game system vary widely from one or two tothousands, tens of thousands, or more. As used herein, the term “gameplayer” is used to refer to a person that plays a game and the term“game playing device” is used to refer to a device used to play a game.

In some embodiments, the game playing device refers to a plurality ofcomputing devices that cooperate to deliver a game experience to a user.For example, a game console and an HMD cooperate with a video serversystem to deliver a game viewed through the HMD. As another example, thegame console receives a video stream from the video server system andthe game console forwards the video stream, or updates to the videostream, to an HMD and/or television for rendering.

Still further, an HMD is used for viewing and/or interacting with anytype of content produced or used, such as, for example, video gamecontent, movie content, video clip content, web content, advertisementcontent, contest content, gambling game content, conference call/meetingcontent, social media content (e.g., posting, messages, media streams,friend events and/or game play), video portions and/or audio content,and content made for consumption from sources over the internet viabrowsers and applications and any type of streaming content. Of course,the foregoing listing of content is not limiting, as any type of contentcan be rendered so long as it can be viewed in the HMD or rendered to ascreen or screen of the HMD.

In an embodiment, computers further include systems that modify receivedvideo. For example, a computer performs further rendering, to overlayone video image on another video image, to crop a video image, and/orthe like. As another example, computers receive various types of videoframes, such as I-frames, P-frames and B-frames, and to process theseframes into images for display to a user. In some embodiments, a part ofa computer performs further rendering, shading, conversion to 3-D,conversion to two-dimensional (2D) image, distortion removal, sizing, orlike operations on a video stream. In an embodiment, a part of acomputer is receives more than one audio or video stream.

Input devices of computers includes, for example, a one-hand gamecontroller, or a two-hand game controller, or a gesture recognitionsystem, or a gaze recognition system, or a voice recognition system, ora keyboard, or a joystick, or a pointing device, or a force feedbackdevice, or a motion and/or location sensing device, or a mouse, or atouch screen, or a neural interface, or a camera, or a combination oftwo or more thereof, etc.

A video source includes rendering logic, e.g., hardware, firmware,and/or software stored on a computer-readable medium such as storage.This rendering logic creates video frames of the video stream based onthe game state. All or part of the rendering logic is optionallydisposed within one or more graphics processing unit (GPU). Renderinglogic includes processing stages for determining three-dimensionalspatial relationships between objects and/or for applying appropriatetextures, etc., based on the game state and viewpoint. The renderinglogic produces raw video that is encoded. For example, the raw video isencoded according to an Adobe Flash® standard, HTML-5, .wav, H.264,H.263, On2, VP6, VC-1, WMA, Huffyuv, Lagarith, MPG-x, Xvid, FFmpeg,x264, VP6-8, realvideo, mp3, or the like. The encoding process producesa video stream that is optionally packaged for delivery to a decoder ona device. The video stream is characterized by a frame size and a framerate. Typical frame sizes include 800×600 pixels, 1280×720 pixels,1024×768 pixels, 1080 pixels, although any other frame sizes may beused. The frame rate is the number of video frames per second. In oneembodiment, a video stream includes different types of video frames. Forexample, the H.264 standard includes a “P” frame and a “I” frame.I-frames include information to refresh all macro blocks/pixels on adisplay device, while P-frames include information to refresh a subsetthereof. P-frames are typically smaller in data size than are I-frames.As used herein the term “frame size” is meant to refer to a number ofpixels within a frame. The term “frame data size” is used to refer to anumber of bytes required to store the frame.

In some embodiments, a computer is a general purpose computer, a specialpurpose computer, a game console, a personal computer, a laptopcomputer, a tablet computer, a mobile computing device, a portablegaming device, a cellular phone, a set-top box, a streaming mediainterface/device, a smart television or networked display, or any othercomputing device capable of being configured to fulfill thefunctionality of a computer as defined herein. In one embodiment, acloud gaming server is configured to detect a type of a computer, whichis being utilized by the user 402, and provide a cloud-gaming experienceappropriate to the user's computer. For example, image settings, audiosettings and other types of settings are optimized for the user'scomputer.

FIG. 12 illustrates an embodiment of an Information Service Providerarchitecture. Information Service Providers (ISP) 1202 delivers amultitude of information services to users 1200-1, 1200-2, 1200-3,1200-4, etc., geographically dispersed and connected via a network 1210,which is an example of the network 204 (FIG. 2A). In one embodiment, anISP delivers one type of service, such as stock price updates, or avariety of services such as broadcast media, news, sports, gaming, etc.Additionally, the services offered by each ISP are dynamic, that is,services are added or taken away at any point in time. Thus, the ISPproviding a particular type of service to a particular individualchanges over time. For example, a user is served by an ISP in nearproximity to the user while the user is in her home town, and the useris served by a different ISP when the user travels to a different city.The home-town ISP will transfer information and data to the new ISP,such that information regarding the user 402 “follows” the user 402 tothe new city making the data closer to the user 402 and easier toaccess. In another embodiment, a master-server relationship isestablished between a master ISP, which manages the information for theuser 402, and a server ISP that interfaces directly with the user 402under control from the master ISP. In another embodiment, the data istransferred from one ISP to another ISP as a computer moves around theworld to make the ISP in better position to service the user 402 be theone that delivers these services.

ISP 1202 includes an application service provider (ASP) 1206, whichprovides computer-based services to customers over the network 1210.Software offered using an ASP model is also sometimes called on-demandsoftware or software as a service (SaaS). A simple form of providingaccess to a particular application program (such as customerrelationship management) is by using a standard protocol such ashypertext transfer protocol (HTTP). The application software resides onthe vendor's system and is accessed by users through a web browser usinghypertext markup language (HTML), by special purpose client softwareprovided by the vendor, or other remote interface such as a thin client.

Services delivered over a wide geographical area often use cloudcomputing. Cloud computing is a style of computing in which dynamicallyscalable resources are provided as a service over the network 1210.Users do not need to be an expert in the technology infrastructure inthe “cloud” that supports them. In one embodiment, cloud computing aredivided in different services, such as Infrastructure as a Service(IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS).Cloud computing services often provide common business applicationsonline that are accessed from a web browser, while the software and dataare stored on the servers. The term cloud is used as a metaphor for theInternet (e.g., using servers, storage and logic), based on how theInternet is depicted in computer network diagrams and is an abstractionfor the complex infrastructure it conceals.

Further, ISP 1202 includes a game processing server (GPS) 1208, which isused by game computers to play single and multiplayer video games. Mostvideo games played over the Internet operate via a connection to a gameserver. Typically, games use a dedicated server application thatcollects data from players and distributes it to other players. This ismore efficient and effective than a peer-to-peer arrangement, but itrequires a separate server to host the server application. In anotherembodiment, the GPS 1208 establishes communication between the playersand their respective game-playing devices exchange information withoutrelying on the centralized GPS 1208.

Dedicated GPSs are servers which run independently of a computer. Suchservers are usually run on dedicated hardware located in data centers,providing more bandwidth and dedicated processing power. Dedicatedservers are the preferred method of hosting game servers for mostPC-based multiplayer games. Massively multiplayer online games run ondedicated servers usually hosted by the software company that owns thegame title, allowing them to control and update content.

A broadcast processing server (BPS) 2204 distributes audio or videosignals to an audience. Broadcasting to a very narrow range of audienceis sometimes called narrowcasting. The final leg of broadcastdistribution is how the signal gets to the listener or viewer, and itmay come over the air as with a radio station or TV station to anantenna and receiver, or may come through cable TV or cable radio (or“wireless cable”) via the station or directly from a network. TheInternet may also bring either radio or TV to the recipient, especiallywith multicasting allowing the signal and bandwidth to be shared.Historically, broadcasts have been delimited by a geographic region,such as national broadcasts or regional broadcast. However, with theproliferation of fast internet, broadcasts are not defined bygeographies as the content can reach almost any country in the world.

A storage service provider (SSP) 1212 provides computer storage spaceand related management services. SSPs also offer periodic backup andarchiving. By offering storage as a service, users can order morestorage as needed. Another major advantage is that SSPs include backupservices and users will not lose all their data if their computers' harddrives fail. Further, in an embodiment, a plurality of SSPs have totalor partial copies of the user data, allowing users to access data in anefficient way independently of where the user is located or the devicebeing used to access the data. For example, the user 402 accessespersonal files in a home computer, as well as in a mobile phone whilethe user 402 is on the move.

A communications provider 1214 provides connectivity to users. One kindof communications provider is an Internet Service Provider (ISP) whichoffers access to the Internet. The ISP connects its customers using adata transmission technology appropriate for delivering InternetProtocol datagrams, such as dial-up, digital subscriber line (DSL),cable modem, fiber, wireless or dedicated high-speed interconnects. TheCommunications Provider can also provide messaging services, such ase-mail, instant messaging, and short message service (SMS) texting.Another type of communications provider is a Network Service provider(NSP), which sells bandwidth or network access by providing directbackbone access to the Internet. Network service providers, in oneembodiment, include telecommunications companies, data carriers,wireless communications providers, Internet service providers, cabletelevision operators offering high-speed Internet access, etc.

A data exchange 1204 interconnects the several modules inside ISP 1202and connects these modules to users 1200 via the network 1210. The dataexchange 1204 covers a small area where all the modules of ISP 1202 arein close proximity, or covers a large geographic area when the differentmodules are geographically dispersed. For example, the data exchange1288 includes a fast Gigabit Ethernet (or faster) within a cabinet of adata center, or an intercontinental interactive area network (VLAN).

Each user 1200-1, 1200-2, 1200-3, and 1200-4 accesses the remoteservices with a client device 1220, which includes at least a CPU, adisplay and input/output interface (I/O). In one embodiment, a clientdevice is a personal computer (PC), a mobile phone, a netbook, tablet,gaming system, a personal digital assistant (PDA), etc. In oneembodiment, the ISP 1202 recognizes a type of client device and adjuststhe communication method employed. In other cases, client devices use astandard communications method, such as HTML, to access the ISP 1202.

In one embodiment, instead of a game console, a computing device, e.g.,a tablet, a computer, a smart television, etc., is used to perform theoperations described herein as being performed by the game console.

Embodiments described in the present disclosure may be practiced withvarious computer system configurations including hand-held devices,microprocessor systems, microprocessor-based or programmable consumerelectronics, minicomputers, mainframe computers and the like. Theembodiments described in the present disclosure can also be practiced indistributed computing environments where tasks are performed by remoteprocessing devices that are linked through a wire-based or wirelessnetwork.

With the above embodiments in mind, it should be understood that theembodiments described in the present disclosure can employ variouscomputer-implemented operations involving data stored in computersystems. These operations are those requiring physical manipulation ofphysical quantities. Any of the operations described herein that formpart of the embodiments described in the present disclosure are usefulmachine operations. Some embodiments described in the present disclosurealso relate to a device or an apparatus for performing these operations.The apparatus can be specially constructed for the required purpose, orthe apparatus can be a general-purpose computer selectively activated orconfigured by a computer program stored in the computer. In particular,various general-purpose machines can be used with computer programswritten in accordance with the teachings herein, or it may be moreconvenient to construct a more specialized apparatus to perform therequired operations.

Some embodiments described in the present disclosure can also beembodied as computer-readable code on a computer-readable medium. Thecomputer-readable medium is any data storage device that can store data,which can be thereafter be read by a computer system. Examples of thecomputer-readable medium include a hard drive, a NAS, a ROM, a RAM, acompact disc ROM (CD-ROM), a CD-recordable (CD-R), a CD-rewritable(CD-RW), a magnetic tape, an optical data storage device, a non-opticaldata storage device, etc. As an example, a computer-readable mediumincludes computer-readable tangible medium distributed over anetwork-coupled computer system so that the computer-readable code isstored and executed in a distributed fashion.

It should be noted that in some embodiments, any of the embodimentsdescribed herein can be combined with any of the remaining embodiments.

Moreover, although some of the above-described embodiments are describedwith respect to a gaming environment, in some embodiments, instead of agame, other environments, e.g., a video conferencing environment, etc.,is used.

Although the method operations were described in a specific order, itshould be understood that other housekeeping operations may be performedin between operations, or operations may be adjusted so that they occurat slightly different times, or may be distributed in a system whichallows the occurrence of the processing operations at various intervalsassociated with the processing, as long as the processing of the overlayoperations are performed in the desired way.

Although the foregoing embodiments described in the present disclosurehas been described in some detail for purposes of clarity ofunderstanding, it will be apparent that certain changes andmodifications can be practiced within the scope of the appended claims.Accordingly, the present embodiments are to be considered asillustrative and not restrictive, and the embodiments are not to belimited to the details given herein, but may be modified within thescope and equivalents of the appended claims.

1. A method for executing computer instructions for presenting aninteractive environment in a head-mounted display, comprising:identifying an interactive object in the interactive environment, theinteractive environment to be presented on a display device of thehead-mounted display worn by a user; determining whether content of theinteractive object satisfies a threshold for presentation on the displaydevice of the head-mounted display for the user; augmenting theinteractive object after determining that the content of the interactiveobject does not satisfy the threshold for presentation to the user; andproviding the augmented interactive object to be displayed on thehead-mounted display for the user.
 2. The method of claim 1, furthercomprising: receiving biometric information regarding the user;determining based on the biometric information an age of the user;determining that the age of the user is less than a pre-determined age,wherein said augmenting the interactive object is performed upondetermining that the age of the user is less than the pre-determinedage.
 3. The method of claim 1, further comprising: accessing a userprofile of the user; identifying an age of the user from the userprofile; determining that the age of the user is less than apre-determined age, wherein said augmenting the interactive object isperformed upon determining that the age of the user is less than thepre-determined age.
 4. The method of claim 1, further comprising:accessing ratings of an interactive object that is similar to theinteractive object in the interactive environment, wherein saiddetermining comprises determining based on the ratings that the contentof the interactive object in the interactive environment does notsatisfy the threshold.
 5. The method of claim 4, wherein the ratings areaccessed from a social network, or from a game network, or from contentproducers of the interactive object that is similar to the interactiveobject in the interactive environment.
 6. The method of claim 1, furthercomprising accessing a content control level set via an administratoraccount that is assigned to an administrator, wherein said determiningis performed based on the content control level.
 7. The method of claim6, further comprising: accessing a rating assigned to the interactiveobject; determining whether the rating exceeds the content controllevel, wherein said determining whether the content of the interactiveobject satisfies the threshold includes determining that the content ofthe interactive object does not satisfy the threshold, wherein saiddetermining that the content of the interactive object does not satisfythe threshold includes determining that the rating exceeds the contentcontrol level.
 8. The method of claim 1, further comprising: sending thecontent of the interactive object via a computer network to an accountassigned to an administrator; receiving via the computer network adisapproval of the content of the interactive object via the accountassigned to the administrator, wherein said determining whether thecontent of the interactive object satisfies the threshold includesdetermining that the content of the interactive object does not satisfythe threshold, wherein said determining that the content of theinteractive object does not satisfy the threshold is performed uponreceiving the disapproval of the content of the interactive object viathe account assigned to the administrator.
 9. The method of claim 1,wherein the interactive object is an avatar of the user, wherein saidaugmenting includes changing a look and feel of a part of the avatarwithout changing functionality of the avatar.
 10. A system for executingcomputer instructions for presenting an interactive environment in ahead-mounted display, comprising: a head-mounted display configured tobe worn by a user, wherein the head-mounted display has a displaydevice; and a content processor coupled to the head-mounted display,wherein the content processor is configured to: identify an interactiveobject in the interactive environment, the interactive environment to bepresented on the display device of the head-mounted display; determinewhether content of the interactive object satisfies a threshold forpresentation on the display device of the head-mounted display for theuser; augment the interactive object after determining that the contentof the interactive object does not satisfy the threshold forpresentation to the user; and provide the augmented interactive objectto be displayed on the display device of the head-mounted display forthe user.
 11. The system of claim 10, wherein the content processor isfurther configured to: receive biometric information regarding the user;determine based on the biometric information an age of the user;determine that the age of the user is less than a pre-determined age,wherein the interactive object is augmented upon determining that theage of the user is less than the pre-determined age.
 12. The system ofclaim 10, wherein the content processor is further configured to: accessa user profile of the user; identify an age of the user from the userprofile; and determine that the age of the user is less than apre-determined age, wherein the interactive object is augmented upondetermining that the age of the user is less than the pre-determinedage.
 13. The system of claim 10, wherein the content processor isfurther configured to: access ratings of an interactive object that issimilar to the interactive object in the interactive environment,wherein the content processor is configured to determine based on theratings that the content of the interactive object in the interactiveenvironment does not satisfy the threshold.
 14. The system of claim 13,wherein the ratings are accessed from a social network, or from a gamenetwork, or from content producers of the interactive object that issimilar to the interactive object in the interactive environment. 15.The system of claim 10, wherein the content processor is furtherconfigured to access a content control level set via an administratoraccount that is assigned to an administrator, wherein the contentprocessor is configured to determine based on the content control levelthat the content of the interactive object in the interactiveenvironment does not satisfy the threshold.
 16. The system of claim 15,wherein the content processor is further configured to: access a ratingassigned to the interactive object. compare the rating with the contentcontrol level; and determine that the rating exceeds the content controllevel to determine that the content of the interactive object does notsatisfy the threshold.
 17. The system of claim 10, wherein the contentprocessor is further configured to: send the content of the interactiveobject via a computer network to an account assigned to anadministrator; receive via the computer network a disapproval of thecontent of the interactive object via the account assigned to theadministrator; and determine that the content of the interactive objectdoes not satisfy the threshold upon receiving the disapproval of thecontent of the interactive object via the account assigned to theadministrator.
 18. The system of claim 10, wherein the content processoris located within a game console.
 19. The system of claim 10, whereinthe interactive object is an avatar of the user, wherein the contentprocessor is configured to change a look and feel of a part of theavatar without changing functionality of the avatar to augment theinteractive object.
 20. A non-transitory computer-readable mediumcontaining program instructions for presenting an interactiveenvironment in a head-mounted display, wherein execution of the programinstructions by one or more processors of a computer system causes theone or more processors to carry out a plurality of operations of:identifying an interactive object in the interactive environment, theinteractive environment to be presented on a display device of thehead-mounted display worn by a user; determining whether content of theinteractive object satisfies a threshold for presentation on the displaydevice of the head-mounted display for the user; augmenting theinteractive object after determining that the content of the interactiveobject does not satisfy the threshold for presentation to the user; andproviding the augmented interactive object to be displayed on thehead-mounted display for the user.
 21. The computer-readable medium ofclaim 20, wherein the operations further comprise: receiving biometricinformation regarding the user; determining based on the biometricinformation an age of the user; determining that the age of the user isless than a pre-determined age, wherein said augmenting the interactiveobject is performed upon determining that the age of the user is lessthan the pre-determined age.